Как в Perl эффективно анализировать вывод команды даты unix с учетом часового пояса, а также преобразовывать в UTC?
Я' Я читал много похожих вопросов о stackoverflow, но немногие, похоже, учитывают синтаксический анализ нескольких часовых поясов. Вместо этого они, кажется, устанавливают часовой пояс вручную и предполагают, что он остается неизменным.
# Example Input Strings:
my @inputs = (
'Tue Oct 12 06:31:48 EDT 2010',
'Tue Oct 12 07:49:54 BST 2010',
);
Я безуспешно пробовал следующее:
foreach my $input ( @inputs ) {
my $t = Time::Piece->strptime( $input,
'%a %b %d %T %Z %Y' );
print $t->cdate, "\n";
}
Кажется, проблема в часовом поясе (% Z). Кроме того, поле часового пояса, похоже, не существует в Time :: Piece, что потребовало бы от меня написания специального кода для преобразования в UTC, что просто кажется ... неправильным.
Контекст: Я пытаюсь проанализировать устаревшие журналы из различных источников, которые используют команду unix date для отметок времени. В идеале я хотел бы преобразовать все отметки времени в UTC.
Любая помощь будет принята с благодарностью.