如何为 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) 以了解这种差异。
1577829600
是 2019-12-31T22:00:00Z
和 unix 纪元 (1970-01-01T00:00:00Z
) 之间的秒数。
如果你想获取自 unix 纪元以来的秒数,你可以使用内置函数 time
.
$ perl -e'CORE::say time'
1580776856
另一方面,如果您要获取当地时区当年 1 月 1 日的纪元时间,您可以使用 parsedate('Jan 1')
.
我们有 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) 以了解这种差异。
1577829600
是 2019-12-31T22:00:00Z
和 unix 纪元 (1970-01-01T00:00:00Z
) 之间的秒数。
如果你想获取自 unix 纪元以来的秒数,你可以使用内置函数 time
.
$ perl -e'CORE::say time'
1580776856
另一方面,如果您要获取当地时区当年 1 月 1 日的纪元时间,您可以使用 parsedate('Jan 1')
.