如何在perl中获得两个日期之间的年份差异

Zan*_*ann -1 perl

如何获得perl中两个日期之间的年份差异,如下面的日期

my $date1 = '2012-08-29T00:00:00.0000Z'
my $date2 = '2010-08-29T00:00:00.0000Z'
Run Code Online (Sandbox Code Playgroud)

需要帮助并提供建议.谢谢

ike*_*ami 9

use DateTime::Format::RFC3339 qw( );
my $format = DateTime::Format::RFC3339->new();

my $dt1 = $format->parse_datetime('2010-08-29T00:00:00.0000Z');
my $dt2 = $format->parse_datetime('2012-08-29T00:00:00.0000Z');
my $dur = $dt2 - $dt1;

say sprintf "%d years", $dur->in_units('years');
Run Code Online (Sandbox Code Playgroud)

Ref:DateTime,DateTime :: Duration,DateTime :: Format :: RFC3339

  • @Zann,我们之前已经确定你修改了DateTime :: Locale的安装,需要重新安装它. (3认同)
  • 这不是调试破损安装的地方.创建一个新问题,以便您可以提供适当的信息并显示您为调试它所做的工作. (2认同)