[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl, localtime, и гадость на выходе.



On Wed, 3 Jan 2001, Oleg Gaier wrote:

> From: Oleg Gaier <pilgrim@gmx.net>
> Subject: Perl, localtime,  и гадость на выходе.
> X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.16 i686)
>
> Привет всем. :)
>
> Тут возникла у меня маленькая проблема.
> Вот пишу такой вот скрипт:
>
> #!/usr/bin/perl
>
> ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time());
> print "Sec =\t$sec\n";
> print "Min =\t$min\n";
> print "hour =\t$hour\n";
> print "mday =\t$mday\n";
> print "mon =\t$mon\n";
> print "year =\t$year\n";
> print "wday =\t$wday\n";
> print "yday =\t$yday\n";
> print "isdst =\t$isdst\n";
>
> И получаю на выходе такую гадость:
>
> Sec =   9
> Min =   13
> hour =  21
> mday =  3
> mon =   0		#	 Вот в этих строчках проблема. :(
> year =  101		#	Сделано это было только что.
> wday =  3
> yday =  2		#
> isdst = 0
>
> gaier@athlon:~ > perl -v
> This is perl, version 5.005_03 built for i586-linux
>
> Подскажите пожалуйста, что я не так делаю.

Доку не читаешь. Ибо там написано что так и должно быть.
Месяцы нумеруются с 0 до 11, а годы считаются от 1900.

Соответственно, добавить  строчки
$mon++; и $year+=1900; и твои волосы будут.

А еще для любителей извращаться - попробуйте выполнить
следующую команду: perl -e '"0xff" + 1' в potato и объяснить
результат. Это - уже не фича.



-- 
Victor Wagner			vitus@ice.ru
Chief Technical Officer		Office:7-(095)-785-09-72
Communiware.Net 		Home: 7-(095)-135-46-61
http://www.communiware.net      http://www.ice.ru/~vitus



Reply to: