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

给定一个表示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”

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...