[Datetime-SIG] Another approach to 495's glitches
tim.peters at gmail.com
Mon Sep 7 03:19:08 CEST 2015
>> For me, subtraction in this case is similar to conversion. Fix the EPOCH
>> and d = t - EPOCH together with t = EPOCH + d gives you a bijection between
>> times and timedeltas.
> Well, not without more words to clarify which operations are intended.
> For example, it's impossible to tell what "-" means there unless you
> spell out whether you're using classic or timeline arithmetic. In
> order to make your final claim true, I have to (I believe)
> reverse-engineer that the claim is restricted to naive EPOCH and `d`,
> or aware datetimes in a common fixed-offset zone. Otherwise your "-"
> uses timeline arithmetic and your "+" classic arithmetic, and they're
> different kinds of arithmetic in a non-fixed-offset zone.
I'm missing a case there: common non-fixed-offset zone. That one
doesn't fail because different kinds of arithmetic are used (classic
is always used then), but because classic arithmetic ignores `fold`
entirely - there's no bijection in that case if you're viewing `t` as
So, your EPOCH and ` t` share a common (possibly None) tzinfo, and
you're talking about a bijection in naive (not civil) time.
More information about the Datetime-SIG