On Thu, Jul 23, 2015 at 12:22 PM, Lennart Regebro <regebro@gmail.com> wrote:

It turns out it's very complex to solve this when internally storing

the time as the local time. Basically you have to normalize the time

(ie check if daylight savings have changed) when doing arithmetic, but

normalize is doing arithmetic, and you get infinite recursion.

This is not true. Tim's analysis immortalized [1] at the end of the datetime.py file,

shows that UTC to local mapping can be unambiguously recovered from the

local to UTC rules using a simple finite algorithm. Tim assumes [2] that standard (non-DST)

time offset is constant throughout the history, but this requirement can be relaxed to offset

changing no more than once in any 48 hour period (if you generously allow timezones

from -24 to 24 hours).

Actually, it looks like I am repeating what I wrote back in April, so I'll stop with a

reference [3] to that post.