如何为 Perl 环境设置相同的 Date/Time?

How to set the same Date/Time for a Perl environment?

我们有 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 输出与旧环境相同的输出?也请分享一些 link(s) 以了解这种差异。

15778296002019-12-31T22:00:00Z 和 unix 纪元 (1970-01-01T00:00:00Z) 之间的秒数。

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

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

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