Как изменить формат строки даты / времени в Perl?(конкретный вопрос) - PullRequest
1 голос
/ 03 мая 2011

Пример строки, разобранной из файла журнала, в следующем формате:

"Пн 25 апреля 17:47:19 2011"

и я хочу чтобы он выглядел как

«Пн, 25 апреля, 17:47, 2011»

Как бы я это сделал вообще? (то есть, конечно, это не всегда будет одна и та же строка).

Большое спасибо.

1 Ответ

10 голосов
/ 03 мая 2011

Если вы сомневаетесь, обычно стоит пойти с DateTime . В этом случае вы могли бы:

use DateTime;
use DateTime::Format::Strptime;

my $parser = DateTime::Format::Strptime->new(
    pattern => '%a %b %d %H:%M:%S %Y'
);

my $dt = $parser->parse_datetime('Mon Apr 25 17:47:19 2011');
print $dt->strftime('%a %b %d %I:%M%p %Y'), "\n";

Если вам нужна информация о шаблонах, см. документацию strftime или аналогичный раздел в DateTime Manual .

Вы также можете работать с этим, используя функцию strftime в POSIX и функцию strptime в POSIX :: strptime , но интерфейсы менее приятны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...