1

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

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

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

谢谢。

4

2 回答 2

1

Time::PieceDateTime / ::Format::Strptime是有效的,因为它们充分利用了开发人员的时间。它们工作正常,经过彻底测试,得到社区的大量使用和认可,返回对象,不会遭受 C 日期时间 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
于 2012-05-07T13:04:59.187 回答
0

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

于 2012-05-07T08:32:43.107 回答