Как я могу конвертировать даты в нужный формат в Perl? - PullRequest
2 голосов
/ 21 сентября 2010

У меня текущая дата на 1/10/2010. Мне нужно преобразовать ее в 1 октября 2010 года. Есть ли какой-либо модуль для преобразования?

Ответы [ 2 ]

16 голосов
/ 21 сентября 2010

Использование DateTime::Format::Strptime.

use DateTime::Format::Strptime;
my $Strp = DateTime::Format::Strptime->new(
                   pattern     => '%d/%m/%Y',
                   time_zone   => 'UTC',
                  );
my $dt = $Strp->parse_datetime('1/10/2010');
print $dt->strftime('%d %b %Y');

Редактировать: Спасибо @davorg за подсказку с new.

3 голосов
/ 21 сентября 2010

Вы можете попробовать:

my $date = '1/10/2010';
my @abbr = qw( dummy Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );
my($d,$m,$y) = split/\//g,$date;
my $new_date = $d.' '.$abbr[$m].' '.$y;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...