0

我们有 2 个环境:旧的(CentOS 6.9)和新的(Debian 10)。

我们也有这个脚本:

#!/usr/bin/perl
use Time::ParseDate;
$seconds = parsedate('Jan 1, 1970');
print "$seconds\n";

它在旧环境中产生以下内容:

[user@old ~]$ ./test.pl
1577829600

并且,它在新环境中产生以下内容:

user@new:~$ ./test.pl
-10800

我们如何解决这个问题,以便 test.pl 输出与旧环境相同的输出?另请分享一些链接以了解此差异。

4

1 回答 1

2

15778296002019-12-31T22:00:00Z是与 unix epoch ( 1970-01-01T00:00:00Z)之间的秒数。

如果您想获取自 unix 纪元以来的秒数,您可以使用内置的time.

$ perl -e'CORE::say time'
1580776856

另一方面,如果您要获取本地时区当年 1 月 1 日的纪元时间,则可以使用parsedate('Jan 1').

于 2020-02-04T00:41:10.547 回答