Perl и вопрос времени
Как я могу взять текущее время эпохи из Perl и найти время эпохи 6 месяцев назад?
Мне нужно сравнить дату создания файла, чтобы увидеть, если он 6 месяцев или старше.
3 ответа
Разница может быть рассчитана с помощью DateTime
:
use DateTime;
my $dt = DateTime->now; # or if you have epoch: DateTime->from_epoch( 'epoch' => $epoch );
$dt->subtract( DateTime::Duration->new( 'months' => 6 ) );
В пакете Date::Calc есть функции для этого. Используйте Date_to_Time и Time_to_Date для конвертации в / из времени эпохи и используйте Add_Delta_YM для добавления -6 месяцев.
Сделанный на скорую руку?
perl -le '$sixm = 30.5*6; for ( glob("*") ) { print "delete $_" if -M > $sixm }'