I've often said this to my programming colleagues, but Dates, Times and calculations between them really are one of the hardest "problems" in solve in programming/computing.
Dates & Times are so incredibly deceptive as on the surface they appear simple yet when you really look into it they're incredibly hard to get "right", what with time differences, daylight savings times (where we arbitrarily move the clock around for the hell of it). DST's are the worst.
Imagine if things like DST were applied to our numbers. It's like having our normal Base10 numbering system, but once or twice a year, we suddenly decide that the digit 6 actually represents 7 of something (or alternatively, represents 5 of something). Now all those calculations that assert that 6 + 6 = 12 are wrong, as 6 + 6 actually equals 13!