Blog

Art | Bicycling | Hacks | Making Stuff | Music | Wirehead
Home | Mail
WireWorld > Hacks > Wirehead on Hacking > A ruby time zone bug

A ruby time zone bug

Code

timestr = "2008-02-25T12:33:21-08:00"
timeval = Time.xmlschema(timestr)

print "This is the input string:\n"
print timestr
print "\nThis is what happens after we parse it:\n"
print timeval.xmlschema();
print "\nThis is what happens after we convert it to local:\n"
timeval.localtime
print timeval.xmlschema();
print "\n";

Results

This is the input string:
2008-02-25T12:33:21-08:00
This is what happens after we parse it:
2008-02-25T20:33:21Z
This is what happens after we convert it to local:
2008-02-25T12:33:21-08:00

Explanation

This threw me for a loop earlier. See, I thought there was a really screwy bug in the Time.xmlschema implementation that was causing it to toss out the timezones. However, it turns out that it wasn't tossing it out... it was just converting all timezones to GMT.

The problem is, you shouldn't naively do that. That's bad. If I'd wanted the timezone in GMT, I'd have converted it myself!

 

Post Comment

Copyright 2007, Ken Wronkiewicz
Version 4.0
Last Updated: 2008-02-24 03:53PM
Posted: 2008-02-24 03:53PM