在Perl中解析长日期格式

时间:2019-04-01 01:01:06

标签: perl date datetime

是否有用于perl的模块,该模块会将这种日期格式解析为DateTime对象?

  

2007年9月13日,星期四

我尝试过DateTime::Format::Natural,但似乎不起作用。

例如,我希望该函数不介意是否没有星期几。我不确定数据是否一致。

1 个答案:

答案 0 :(得分:2)

这可以使用DateTime::Format::Flexible来实现。

use DateTime::Format::Flexible qw( );

my $dt = DateTime::Format::Flexible->parse_datetime(
   'Thursday, September 13, 2007',
   lang => [ 'en' ],                    # Optional
);

如果您知道具体的格式(如您最初的问题一样),我会推荐DateTime::Format::Strptime

use DateTime::Format::Strptime qw( );

my $format = DateTime::Format::Strptime->new(
   pattern  => '%A, %B %e, %Y',
   locale   => 'en',
   on_error => 'croak',
);

my $dt = $format->parse_datetime('Thursday, September 13, 2007');