On Thu, Jul 30, 2015 at 3:24 PM, Ethan Furman <[email protected]> wrote:
> By the way -- which __add__ actually does the implementation? datetime's >> or timedelta's ? >> > > class timedelta: > > def __add__(self, other): > if isinstance(other, timedelta): > # for CPython compatibility, we cannot use > # our __class__ here, but need a real timedelta > return timedelta(self._days + other._days, > self._seconds + other._seconds, > self._microseconds + other._microseconds) > return NotImplemented > > > timedelta only adds directly to other timedeltas; so datetime is doing the > actual addition. great, thanks -- so timedelta knows nothing of datetimes at all, it seems -- nice! And you are quite right -- what we need a datetime with a different __add__ (and a few others, I suppose) And it could be pretty darn backward compatible -- it would behave exactly the same for naive datetimes, and, I think, any time zone without a DST, and even any timezone when the DST boundary isn't crossed. I'm thinking its "as simple" as: - convert to utc - convert to a timedelta from year 1 - do the addition - convert back to a utc datetime - convert back to the tzinfo's timezone Or is there more to it than that that I'm missing? -Chris > > -- > ~Ethan~ > _______________________________________________ > Datetime-SIG mailing list > [email protected] > https://mail.python.org/mailman/listinfo/datetime-sig > The PSF Code of Conduct applies to this mailing list: > https://www.python.org/psf/codeofconduct/ > -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception [email protected]
_______________________________________________ Datetime-SIG mailing list [email protected] https://mail.python.org/mailman/listinfo/datetime-sig The PSF Code of Conduct applies to this mailing list: https://www.python.org/psf/codeofconduct/
