Perl和时区

时间:2013-08-08 20:26:56

标签: perl time timezone

我在时区和Perl方面遇到了一些麻烦。我有一个来自(美国)东海岸的饲料;我的服务器处于中央时间,最终产品需要反映东部时间。从Feed中我得到的时间是HH:mm(它来自时间表,并且在任何一天都是相同的)。所以我使用str2time将其转换为纪元。现在,当我将计划发送给客户端(JSON)时,我正在发送服务器时间。我正在运行的问题是我真的不希望{EST添加小时数{1}}来增加EST / EDT的小时数。我的问题是:我可以用不同的方式添加那个小时吗?

2 个答案:

答案 0 :(得分:1)

这是Q& D或一次性“解决方案”:

my @tvs = localtime( time );
$tvs[2]++;
my $eastern_time = POSIX::strftime( $my_format, @tvs );

无论如何,这是它的要点。可能有更复杂的解决方案。

答案 1 :(得分:1)

use DateTime qw( );

say DateTime
       ->from_epoch(epoch => $epoch, time_zone => 'America/Chicago')
          ->strftime('%Y-%m-%d %H:%M:%S');