Thankfully most programmers don't really have to worry about all of these edge cases unless they are writing their own timezone libraries.