Этот код выведет 4 утра по Гринвичу, а не локальному времени.
21 сентября 2011 г. 13:58 пользователь STork Loginoff Николай Александрович <[email protected]> написал: > > print int(time / 86400)*86400+14400; > > 21.09.2011, 13:10, "Nikolay Mishin" <[email protected]>: >> Hi Moscow.PM >> >> Как можно написать число секунд в 4 часа утра сегодня в одну строчку >> >> use Time::Local; >> my $time = time; >> my ( $Second, $Minute, $Hour, $Day, $Month, $Year, $WeekDay, $DayOfYear, >> $IsDST >> ) = gmtime($time); >> my $trunc_time = timelocal( 0, 0, 0, $Day, $Month, $Year, $WeekDay, >> $DayOfYear, >> $IsDST ); >> my $tom1am = $trunc_time + 4*3600;#select trunc(sysdate)+4 from dual >> print $tom1am; >> >> получается так >> perl -MTime::Local -e '@t = gmtime(time);print timelocal( 0, 0, 0, $t[3], >> $t[4], $t[5], $t[6], $t[7],$t[8] )+4*3600' >> >> а можно еще короче? >> >> Nikolay Mishin >> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org > > -- > С Уважением, Login|off Николай Александрович. > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- С уважением, Никита Зубков тел: +7 (915) 082-76-80 -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
