Perl и вопрос о времени - PullRequest
2 голосов
/ 29 июня 2011

Как я могу взять текущее время эпохи из perl и найти время эпохи 6 месяцев назад?

Мне нужно сравнить дату создания файла, чтобы узнать, старше 6 месяцев.

Ответы [ 3 ]

4 голосов
/ 29 июня 2011

Разница может быть рассчитана с использованием DateTime:

use DateTime;

my $dt = DateTime->now;  # or if you have epoch: DateTime->from_epoch( 'epoch' => $epoch );
$dt->subtract( DateTime::Duration->new( 'months' => 6 ) );
1 голос
/ 29 июня 2011

Пакет Date :: Calc имеет функции для этого. Используйте Date_to_Time и Time_to_Date для преобразования в / из времени эпохи и используйте Add_Delta_YM для добавления -6 месяцев.

0 голосов
/ 29 июня 2011

Грубый и готовый?

perl -le '$sixm = 30.5*6; for ( glob("*") ) { print "delete $_" if -M > $sixm }'
...