[Datetime-SIG] Trivial vs easy: .utcoffset()
Tim Peters
tim.peters at gmail.com
Mon Aug 31 00:19:40 CEST 2015
[Tim]
> Easy idea: after loading a tzfile, create and store (on the tzinfo
> instance) a list of every unique total UTC offset in the zone's
> history, ordered by most recent to least. .utcoffset() then only
> needs to march through that list once, seeing whether the input minus
> the current offset (from the list) converts back to the input via
> .fromutc(). If none do, that's an internal error.
Not quite. "Converts back" has to include reproducing the `fold`
value too. If a user gives a datetime with fold=1 where it doesn't
make sense,.fromutc() can't reproduce it.
Likewise if a user gives a datetime in a gap.
With enough extra annoying code, useful error messages for those could
be produced. I wouldn't want to _guess_ the intent in either of those
cases.
It's an internal error if neither of those apply.
More information about the Datetime-SIG
mailing list