Before I attack the code with the debugger, I'd like to see if anybody has already figured this out...
I want to convert the times used to a consistent timezone (we'll say US/Central)
For starters, I use the following code to get the system time on my box
#!/usr/bin/perl
use Date::Manip
print UnixDate( ParseDate('today'), "%A, %B %E, %Y -- %R %Z\n");
It yields the following output:
Monday, March 19th, 2001 -- 18:44 MSTNow, according to the perldoc for Date::Manip, this code should do the conversion:
#!/usr/bin/perl
use Date::Manip;
Date_Init("ConvTZ=CST");
print UnixDate( ParseDate('today'), "%A, %B %E, %Y -- %R %Z\n");
But this is what it gives me:
Monday, March 19th, 2001 -- 20:52 CST
Aside from the fact that I get myriad errors when trying to pass 'US/Central' into ConvTZ with Date_Init. And if I just set $Date::Manip::TZ with Date_Init, no conversion takes place (it just changes what you get when you use a %Z token).
Apparently it's adding two hours instead of just one. Even better, if I tell it to convert from the local time (which is MST) to CDT, it adds four hours.
Am I doing something wrong, or is this a bug in Date::Manip? Any suggestsions?
Thanks, folks.
In reply to Converting timezones with Date::Manip by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |