当前位置 : 主页 > 网页制作 > xml >

xml – 如何在Perl中以xs:dateTime格式打印日期时间?

来源:互联网 收集:自由互联 发布时间:2021-06-13
我想采用时间戳(例如1263531246)并将其转换为适合输出到符合xs:dateTime的属性字段中的 XML文件的字符串表示形式. xs:dateTime需要这样的东西: 2002-05-30T09:30:10-06:00 理想情况下,我会使
我想采用时间戳(例如1263531246)并将其转换为适合输出到符合xs:dateTime的属性字段中的 XML文件的字符串表示形式. xs:dateTime需要这样的东西:

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
网友评论