Спасибо.. ответы супер
повешу их на стену;))
perl -MTime::Local -e 'print timelocal( 0, 0, 4, (gmtime)[3..8] )'
perl -e "print int(time / 86400)*86400+14400"

21.09.2011, 13:35, "Nikita Zubkov" <[email protected]>:
> perl -MTime::Local -e 'print timelocal( 0, 0, 4, (gmtime)[3..8] )'
>
> 21 сентября 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
> --
> С уважением,
> Никита Зубков
> тел: +7 (915) 082-76-80
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org

--
Nikolay Mishin
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить