在Perl中推荐日期算术的推荐方法是什么?

时间:2010-10-17 18:03:02

标签: perl datetime cpan datediff date-arithmetic

在Perl中推荐日期算术的推荐方法是什么?

例如,我想知道从今天开始三天前的日期(today = 2010-10-17today - 3 days = 2010-10-13)。你会如何在Perl中做到这一点?

4 个答案:

答案 0 :(得分:11)

您可以使用DateTime和DateTime :: Duration

http://search.cpan.org/dist/DateTime/lib/DateTime/Duration.pm

或使用unix时间戳:

my $now = time();
my $threeDaysAgo = $now - 3 * 86400;
my ($day, $mon, $year) = (localtime($threeDaysAgo))[3, 4, 5];
printf("Three days ago was %04d-%02d-%02d", $year+1900, $mon+1, $day);

答案 1 :(得分:6)

请参阅DateTime on CPAN(或here)。

答案 2 :(得分:5)

有许多不同的日期和时间操作模块。

这些包括:

所有这些都经过深思熟虑。此外还有许多其他的。很大程度上取决于你想要做的算术类型。 DateTime可能是最严格的,但Date :: Calc和Date :: Manip可能更容易处理您需要的工作。

答案 3 :(得分:0)

到目前为止,这是我遇到的功能最多的模块:Date::Manip