Programming around time is the bane of pretty much every programmer's existence. UTC works most of the time, but still has its flaws.
Zach Holman writes on his blog:
Programming time, dates, timezones, recurring events, leap seconds... everything is pretty terrible. The common refrain in the industry is Just use UTC! Just use UTC! And that's correct...sort of. But if you're stuck building software that deals with time, there's so much more to consider. It's time...to talk about time.
Zach includes a lot of time-related puns and whole lot of wisdom about programming time.