|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : yurik shestakov 2:5020/400 08 Sep 2004 11:23:53 To : Eugeny Belyakov Subject : Re: функция обратная gmtime -------------------------------------------------------------------------------- On Wed, Sep 08, 2004 at 07:12:22AM +0000, Eugeny Belyakov wrote: EB> Привет Всем! EB> Hарод подскажите сабж. нашел mktime , а она дает другое число. EB> или надо что-то сдвинуть GMT или еще чего??? EB> вот скрипт: EB> use POSIX; EB> my $tt = 1094640584; EB> my @gmt = gmtime($tt); EB> print 'gmtime(1094640584) = '.gmtime($tt)."\n"; EB> $tt = mktime(@gmt); EB> print 'mktime(@gmt) = '.$tt."\n"; EB> вот результат: EB> gmtime(1094640584) = Wed Sep 8 10:49:44 2004 EB> mktime(@gmt) = 1094622584 Я обычно пользую localtime в паре с mktime. Hе некоторых системах в "летнее" время приходится вызывать mktime дважды (на FreeBSD и на Linux точно), на SCO OpenServer достаточно позвать mktime один раз (он сам учитывает поправку летнее/зинее время). Само собой, что должна правильно стоять timezone. sub _mktime { my @a = @_; my $t = POSIX::mktime(@a[0..5],0,0,0); my @lt = localtime($t); if ($lt[8]) { # is_dst == 1 ? $t = POSIX::mktime(@a[0..5],0,0,1); } return $t; } -- // yurik shestakov --- ifmail v.2.15dev5.3 * Origin: Unknown (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/100695a1f0546.html, оценка из 5, голосов 10
|