如何使用缩写时区提供DateTime

fre*_*die 2 perl timezone

当我在收到以下日期格式后尝试创建DateTime对象时:

Fri 01 Oct 2010 12:19:54 AM JMT
Run Code Online (Sandbox Code Playgroud)

我解析日,月,年,时间和时区.

但是,使用缩写时区创建DateTime对象似乎不起作用.

# ... After parsing and converting to epoch...
my $dt = DateTime->from_epoch( epoch => $date_epoch,
                                        time_zone => 'JMT' );
Run Code Online (Sandbox Code Playgroud)

我明白了:

Invalid offset: JMT
Run Code Online (Sandbox Code Playgroud)

有没有办法为DateTime提供缩短的时区?

如果没有,将缩写时区转换为完整时区字符串(在Perl中)的最佳方法是什么.

mfo*_*ani 5

来自DateTime :: TimeZone:

强烈建议您不要将这些名称用于显示以外的任何名称.这些名称不是官方的,其中许多只是Olson数据库维护者的发明.而且,这些名称并不是唯一的.例如,-0500和+ 1000/+ 1100都有"EST".