perlquestion
JPaul
Greetings monks;<P>
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).
<BR>
I live in CST, and the following works:
<CODE>
$ENV{TZ} = "America/New_York";
my $now_string = strftime "%a %b %e %H:%M:%S %Y %c", localtime;
print "$now_string\n";
</CODE>
Which prints:
<PRE>
Tue Nov 1 17:40:54 2005 Tue 01 Nov 2005 05:40:54 PM EST
</PRE>
However, if I try the following:
<CODE>
$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";
</CODE>
I get:
<PRE>
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
</PRE>
<P>
Which is clearly more than a little odd.<BR>
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.
<P>
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.<BR>
(I'm on a Linux machine running Debian, if it helps)<P>
My thanks;
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-39553">
-- Alexander Widdlemouse undid his bellybutton and his bum dropped off --
</div></div>