We have 2 environments: old (CentOS 6.9) and new (Debian 10).
Also we have this script:
#!/usr/bin/perl
use Time::ParseDate;
$seconds = parsedate('Jan 1, 1970');
print "$seconds\n";
It produces the following on old environment:
[user@old ~]$ ./test.pl
1577829600
And, It produces the following on new environment:
user@new:~$ ./test.pl
-10800
How do we fix this so that test.pl will output the same as on the old environment? Also please share some link(s) to read about this difference.
1577829600is the number of seconds between2019-12-31T22:00:00Zand the unix epoch (1970-01-01T00:00:00Z).If you're trying to get the number of seconds since the unix epoch, you can use the builtin
time.On the other hand, if you're trying to get the epoch time for Jan 1st of the current year of your local time zone, you can use
parsedate('Jan 1').