Ghepardo has asked for the wisdom of the Perl Monks concerning the following question:
I am on a machine with "GB" (i.e. British) localisation, and I see the following:
$ perl -e '$t=0; print scalar localtime $t, "\n"; print scalar gmtime +$t' Thu Jan 1 01:00:00 1970 Thu Jan 1 00:00:00 1970
So localtime and gmtime return different values for time "0".
Now I'd expect localtime and gmtime to return the same thing in Britain outside of a daylight savings time period (which 1 January is).
I wondered whether this was because I didn't have a TZ variable set in my environment, but setting this to 'Europe/London' made no difference.
We don't get this discrepancy if we use the current time:
$ perl -e '$t=time; print scalar localtime $t, "\n"; print scalar gmti +me $t' Tue Feb 7 20:24:24 2023 Tue Feb 7 20:24:24 2023
This feels like a stupid question, I think I must be missing something obvious...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: localtime gives unexpected result
by choroba (Cardinal) on Feb 07, 2023 at 20:55 UTC | |
by Ghepardo (Novice) on Feb 07, 2023 at 22:53 UTC | |
|
Re: localtime gives unexpected result
by Anonymous Monk on Feb 08, 2023 at 04:02 UTC | |
by Ghepardo (Novice) on Feb 08, 2023 at 09:31 UTC | |
|
Re: localtime gives unexpected result
by Discipulus (Canon) on Feb 07, 2023 at 21:20 UTC | |
by Ghepardo (Novice) on Feb 07, 2023 at 23:02 UTC |