0

我在时区和 Perl 方面遇到了一些麻烦。我有一个来自(美国)东海岸的饲料;我的服务器是中部时间,最终产品需要反映东部时间。从提要中我得到时间HH:mm(它来自时间表,任何一天都是一样的)。所以我使用str2time. 现在,当我将时间表发送到客户端(JSON)时,我正在发送服务器时间。我正在运行的问题是我真的不想my $time = time() + 3600从 EST/EDT 添加小时。我的问题是:我可以用不同的方式添加那个小时吗?

4

2 回答 2

1

这是问答或一次性“解决方案”:

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

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

于 2013-08-08T21:29:16.053 回答
1
use DateTime qw( );

say DateTime
       ->from_epoch(epoch => $epoch, time_zone => 'America/Chicago')
          ->strftime('%Y-%m-%d %H:%M:%S');
于 2013-08-08T22:33:37.317 回答