我需要阅读2个日期并进行比较.
一个日期是current_date(年,月,日),另一个是由业务逻辑确定的.然后我需要比较两个日期,看看是否有一个在另一个之前.
我怎样才能在Perl中做同样的事情?
我正在寻找好的文档,但我在Perl中找到了很多Date模块.不知道哪一个适合它.
daw*_*awg 35
如果日期是ISO-8601(即YYYY-MM-DD)并且您不需要验证它们,则可以按字典顺序(即lt和gt运算符)进行比较.
如果需要验证日期,操作日期或解析非标准格式 - 请使用CPAN模块.最好的,恕我直言,是DateTime和DateCalc.Date-Simple也很不错.
一个开始自己旅程的好地方是阅读Perl的多日期和DateTime网站.
Eri*_*rom 21
最受欢迎的日期模块之一是DateTime,它将处理所有角落案例和围绕日期数学的其他问题.
此链接是DateTime的常见问题解答,可帮助您入门:
该方式DateTime模块的工作原理是,您将您的时间(这大概会是一个字符串)为DateTime对象,然后你就可以比较使用的几个中的一个DateTime方法.
在下面的实施例中,$dt1和$dt2为DateTime对象.
$days 是两个日期之间的差异:
my $days = $dt1->delta_days($dt2)->delta_days;
Run Code Online (Sandbox Code Playgroud)
$cmp是-1,0或1,取决于$dt1是小于,等于还是大于$dt2.
my $cmp = DateTime->compare($dt1, $dt2);
Run Code Online (Sandbox Code Playgroud)