Разбор длинных дат в формате Perl - PullRequest
0 голосов
/ 01 апреля 2019

Есть ли модуль для perl, который будет анализировать этот формат даты в DateTime объект?

Четверг, 13 сентября 2007 г.

Я пытался DateTime::Format::Natural, но, похоже, это не сработало.

Я бы предпочел функцию, которая не возражает, если, например, нет дня недели. Я не могу быть уверен, что данные будут согласованными.

1 Ответ

2 голосов
/ 01 апреля 2019

Этого можно добиться, используя 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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...