我如何在Perl中转换时区?
发布时间:2020-12-15 22:02:30 所属栏目:大数据 来源:网络整理
导读:我正在将Perl的日期/时间GMT 0转换为GMT -6. 例如,DHCP服务器租用时间采用以下格式: 2010/02/18 23:48:37 我正在尝试将该时间转换到Localtime区域(GMT -6),但需要它来兑现夏令时. 下面的脚本可能是过度的,但我不知道如何从这里进行. (任何建议都会很棒). my
我正在将Perl的日期/时间GMT 0转换为GMT -6.
例如,DHCP服务器租用时间采用以下格式:
我正在尝试将该时间转换到Localtime区域(GMT -6),但需要它来兑现夏令时. 下面的脚本可能是过度的,但我不知道如何从这里进行. (任何建议都会很棒). my $TIMESTART; $TIMESTART = "2010/02/18 23:48:37"; $TIMESTART =~ s///-/g; use DateTime; use DateTime::TimeZone; use DateTime::Format::MySQL; my $dt = DateTime::Format::MySQL->parse_datetime($TIMESTART); my $tz = DateTime::TimeZone->new( name => 'America/Chicago' ); print $tz->offset_for_datetime($dt) . "n"; 它将输出以下行:
我需要能够添加-21600到日期以获得GMT -6的本地时区,但我不知道如何通过这个. 解决方法
致电
set_time_zone 方法2次:
my $dt = DateTime::Format::MySQL->parse_datetime($TIMESTART); $dt->set_time_zone('UTC'); ## set timezone of parsed date time $dt->set_time_zone('America/Chicago'); ## change timezone in safe way print DateTime::Format::MySQL->format_datetime($dt),"n"; ## check the result 怎么运行的: >当您创建没有指定时区的DateTime对象时,将设置“浮动”时区>首先调用set_time_zone将时区更改为UTC而不进行转换>第二次调用set_time_zone将UTC更改为America / Chicago (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |