JPaul has asked for the wisdom of the Perl Monks concerning the following question:
I'm trying to get a very simple timezone display going without having to install the rather heavy DateManip or DateTime groups of modules (Which seemingly require copious amounts of modules).
I live in CST, and the following works:
Which prints:$ENV{TZ} = "America/New_York"; my $now_string = strftime "%a %b %e %H:%M:%S %Y %c", localtime; print "$now_string\n";
Tue Nov 1 17:40:54 2005 Tue 01 Nov 2005 05:40:54 PM ESTHowever, if I try the following:
I get:$ENV{TZ} = "America/Chicago"; my $now_string = strftime "%a %b %e %H:%M:%S %Y %c", localtime; print "$now_string\n"; $ENV{TZ} = "America/New_York"; $now_string = strftime "%a %b %e %H:%M:%S %Y %c", localtime; print "$now_string\n";
Tue Nov 1 16:41:08 2005 Tue 01 Nov 2005 04:41:08 PM CST Tue Nov 1 16:41:08 2005 Tue 01 Nov 2005 04:41:08 PM EST
Which is clearly more than a little odd.
I'm not seeing an obvious difference here in methodology - which means that there's either a bug in localtime(), or I'm missing something - and I'm putting money on it being my problem.
I can, of course, move to using one of the larger modules - that is a valid option, but I'd prefer to not have to resort to doing so when it appears localtime() should be able to handle this properly.
(I'm on a Linux machine running Debian, if it helps)
My thanks;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: TimeZoning oddities
by robin (Chaplain) on Nov 01, 2005 at 23:26 UTC | |
Re: TimeZoning oddities
by robin (Chaplain) on Nov 02, 2005 at 12:13 UTC | |
by JPaul (Hermit) on Nov 02, 2005 at 15:14 UTC | |
by robin (Chaplain) on Nov 03, 2005 at 10:33 UTC | |
Re: TimeZoning oddities
by swampyankee (Parson) on Nov 02, 2005 at 04:00 UTC |