我想采用时间戳(例如1263531246)并将其转换为适合输出到符合xs:dateTime的属性字段中的 XML文件的字符串表示形式. xs:dateTime需要这样的东西: 2002-05-30T09:30:10-06:00 理想情况下,我会使
2002-05-30T09:30:10-06:00
理想情况下,我会使用包含UTC偏移量的输出形式(如上所述).在这个项目中,我被限制使用Perl.有什么建议?
这适用于 Linux:$perl -MPOSIX -e 'print POSIX::strftime("%Y-%m-%dT%H:%M:%S%z\n", localtime)' 2010-02-04T17:37:43-0500
在Windows上,使用ActiveState Perl,它会打印:
2010-02-04T17:39:24Eastern Standard Time
使用DateTime:
#!/usr/bin/perl use strict; use warnings; use DateTime; my $dt = DateTime->now(time_zone => 'EST'); print $dt->strftime('%Y-%m-%dT%H:%M:%S%z'), "\n"
我在Windows上也得到了正确的字符串:
E:\> t 2010-02-04T18:06:24-0500
我相信Date::Format重量轻得多的模块:
#!/usr/bin/perl use strict; use warnings; use Date::Format; print time2str('%Y-%m-%dT%H:%M:%S%z', time, 'EST'), "\n";
输出:
E:\> t 2010-02-04T18:11:36-0500