Как я могу преобразовать метку времени ISO8601 во время Unix в Perl?

Учитывая строку, которая представляет дату/время в формате ISO8601 (например. 20100723T073000), я должен в конечном счете проанализировать это в предоставленный пользователями формат с помощью генерала strftime строка формата. Чтобы сделать это, я должен преобразовать метку времени ISO8601 в метку времени Unix. Существует огромная сумма модулей управления датой/временем для Perl, и я немного поражен. Какие-либо предложения о том, как сделать это?

7
задан Jimmy Cuadra 24 June 2010 в 20:05
поделиться

1 ответ

Модуль чемпиона для обработки дат, времени, продолжительности, часовых поясов и форматов - DateTime . Получив объект DateTime, вы можете выполнять с ним огромное количество операций, таких как добавление / вычитание других объектов DateTime или объектов DateTime :: Duration , либо его распечатка в другом формате.

use strict; use warnings;
use DateTime;
use DateTime::Format::ISO8601;

my $dt = DateTime::Format::ISO8601->parse_datetime('20100723T073000');

print $dt->strftime('%F %T');

выводит: «2010-07-23 07:30:00»

13
ответ дан 6 December 2019 в 11:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: