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

前端之家收集整理的这篇文章主要介绍了xml – 如何在Perl中以xs:dateTime格式打印日期时间?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想采用时间戳(例如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

猜你在找的XML相关文章