加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 22:40:28 所属栏目:百科 来源:网络整理
导读:我想采用时间戳(例如1263531246)并将其转换为适合输出到符合xs:dateTime的属性字段中的 XML文件的字符串表示形式. xs:dateTime需要这样的东西: 2002-05-30T09:30:10-06:00 理想情况下,我会使用包含UTC偏移量的输出形式(如上所述).在这个项目中,我被限
我想采用时间戳(例如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%zn",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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读