gpt4 book ai didi

perl - 在 Perl 中将时区名称转换为 GMT 时区偏移量?

转载 作者:行者123 更新时间:2023-12-01 08:55:04 25 4
gpt4 key购买 nike

我有一个 timzeone 名称作为输入,例如 'Europe/Istanbul' 作为字符串。
如何获取 GMT 的当前偏移量(基于当前时间),即 +2 作为输出?
PS,我用的是DateTime::TimeZone如果这可能有帮助

最佳答案

您可以使用 DateTime::TimeZone 的 offset_for_datetime 获取当前偏移量方法或 DateTime 的 offset方法。需要 DateTime 对象,因为偏移量可能会因日期时间而异(主要是因为夏令时)。

my $tz_name = 'Europe/Istanbul';

my $dt = DateTime->now( time_zone => $tz_name );
for (1..2) {
my $offset = $dt->offset;
printf("Offset for %s in %s is %+g\n", $dt->iso8601, $tz_name, $offset / 60 / 60);
$dt->add( months => 6 );
}

输出:

Offset for 2015-02-18T18:20:30 in Europe/Istanbul is +2
Offset for 2015-08-18T18:20:30 in Europe/Istanbul is +3

关于perl - 在 Perl 中将时区名称转换为 GMT 时区偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28586583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com