【发布时间】:2019-10-17 04:43:14
【问题描述】:
我想获得自纪元以来给定微秒的本地时间和 gmtime 之间的小时偏移量。我到目前为止是这样的
# Microseconds since Epoch
my $msec = 555329743301750;
# Convert to seconds
my $sec = $msec/1000000;
my $val = (POSIX::mktime(localtime $sec) - POSIX::mktime(gmtime $sec)) / 60 / 60;
print "$val\n";
1) 我得到的输出是-6。(CST 本地时间)但是我期待-5。我期望的行为类似于运行 bash 命令的结果
`date -d 20190514 "+%z"`;
2) 长话短说,我如何计算类似于 perl 中的date -d 20190514 "+%z" 的偏移量?
【问题讨论】:
-
最坏的情况,你也可以减去
isdst的值。my @tmp = localtime($sec); $val = $val - $tmp[8];