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: