Zephram, could you verify the updated code: http://stackoverflow.com/a/21000824/589924
Assumptions: - There is no dt to which one can add time to obtain a dt with an earlier date. - In no time zone does a date starts more than 48*60*60 seconds before the date starts in UTC. - In no time zone does a date starts more than 48*60*60 seconds after the date starts in UTC.