perl - 如何在 Perl 中将 ISO8601 时间戳转换为 unix 时间?

标签 perl datetime unix-timestamp iso8601

给定一个以 ISO8601 格式表示日期/时间的字符串(例如 20100723T073000 ),我最终需要使用通用 strftime 将其解析为用户提供的格式格式字符串。为此,我需要将 ISO8601 时间戳转换为 Unix 时间戳。 Perl 有大量的日期/时间操作模块,我有点不知所措。关于如何做到这一点的任何建议?

最佳答案

处理日期、时间、持续时间、时区和格式的冠军模块是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”

关于perl - 如何在 Perl 中将 ISO8601 时间戳转换为 unix 时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3113487/

相关文章:

perl - 如何从Perl XS查找当前软件包名称?

perl - 处理 Perl Catalyst 中不明确的 Controller 操作

batch-file - 批处理 : Timestamp to UNIX Time

javascript - 如果 Date.now() 大于 Number.MAX_SAFE_INTEGER 会发生什么?

regex - Perl 正则表达式,它在一行中获取所有双字母出现

perl - 在 Perl 中,散列和祝福引用之间的根本区别是什么?

jquery - 如何在 jQuery 中将 DateTime 值转换为 dd/mm/yyyy?

python - 同一列中具有不同格式的 Pandas 日期时间

php - 通过 Yii2-formatter 使用日期时间格式

php - 将日期格式化为人类可读的格式