计算Perl中的时间差:这是有效的

时间:2012-05-07 07:16:44

标签: perl

我想比较Perl中的两个日期来检查差异(天,月等),两个日期的格式都像DD-MMM-YYYY。

我正在考虑在Perl中使用mktime或DateTime模块。 由于计算频繁,我需要有效的方法。

你能否建议在Perl中使用2或其他任何更有效的方法。

感谢。

2 个答案:

答案 0 :(得分:1)

Time::PieceDateTime / ::Format::Strptime效率很高,因为它们充分利用了开发人员的时间。它们正常工作,经过全面测试,大量使用并得到社区认可,返回对象,不会受到C datetime API的影响。

use Time::Piece qw();
my $t = Time::Piece->strptime('07-May-2012', '%d-%b-%Y');
# returns object of type Time::Piece

use DateTime::Format::Strptime qw();
my $dt = DateTime::Format::Strptime
    ->new(pattern => '%d-%b-%Y', locale => 'en')
    ->parse_datetime('07-May-2012');
# returns object of type DateTime

答案 1 :(得分:0)

mktime是本机系统调用,我认为应该比使用DateTime.pm更快地实例化新的perl对象