DateTime and its format

最近写了两个程序,一个需要生成feed,另一个需要解析feed,其中最让人头疼的就是关于时间的处理。

还好,Perl有相应的module能把绝大多数事情处理好,其核心就是DateTime module。这个类用来表示某个特定的时间,并支持许多基于时间的计算。而许多DateTime::Format::XXX类则将DateTime对象输出为特定的格式,如DateTime::Format::W3CDTF可以输入符合Atom要求的时间格式,如下面的例子:

#!/usr/bin/perl
use DateTime;
use DateTime::Format::W3CDTF;

$now = DateTime->now(time_zone => 'Asia/Shanghai');

$output = DateTime::Format::W3CDTF->format_datetime($now);
print $output, "n";

这个程序的输出为:

2007-02-15T14:30:00+08:00

下面的例子是将格式为W3CDTF的日期字符串转换为DateTime实例:

#!/usr/bin/perl
use DateTime;
use DateTime::Format::W3CDTF;

$t = DateTime::Format::W3CDTF->parse_datetime('2007-02-15T14:30:00+08:00');

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据