考虑下面的代码片段,它需要用户输入(日期),并使用UnixDate从日期:: MANIPPerl的日期:: MANIP - 如何在给定的日期转换为另一时区
#!/usr/bin/perl
use Date::Manip;
my $input = join(" ", @ARGV);
my $date = UnixDate($input, "%Y-%m-%d %T");
print $date;
这是格式化以允许用户输入友好日期,如“昨天”或“1周前”。
我想使用$ date与不同的时区(它将用于提取SQL数据)。这将如何完成? 我没有找到任何构造UnixDate,这将允许放置一个时区,我不知道如何重新格式化用户输入(将时区名称连接到它没有帮助)。
例
用户则介于中欧(时区:CET),进入 “今天下午1点”。执行上面的代码如下:
$ ./test.pl today at 1pm
2011-03-03 13:00:00
这是因为没有时区更改生效的预期结果。我想要的是将$ date与另一个时区一起使用,例如,太平洋标准(时区:PST)。在这种情况下,输出应为:
$ ./test.pl today at 1pm
2011-03-03 04:00:00
是的!真棒。正是我在找什么。那就是在Date :: Manip页面上。 – emx