[Python-Dev] datetime nanosecond support (original) (raw)

Christian Heimes lists at cheimes.de
Wed Jul 25 15:59:03 CEST 2012


Am 25.07.2012 13:48, schrieb Antoine Pitrou:

I'd vote for two separate numbers, the first similar to JDN (Julian Day Number [1]), the second for nanoseconds per day. 3600 * 1000000 fit nicely into an unsigned 32bit int. But 24 * 3600 * 1e9 doesn't. Perhaps I didn't understand your proposal.

What the h... was I thinking? I confused nano with micro and forgot the hours, how embarrassing. :(

days

32bit signed integer

numbers of days since Jan 1, 1 AD in proleptic Gregorian calendar (aka modern civil calendar). That's Rata Die minus one day since it defines Jan 1, 1 AD as day 1. This allows days between year 5.8 Mio in the past and 5.8 Mio in the future ((1<<31) // 365.242 ~ 5879618).

nanoseconds

64bit signed or unsigned integer

more than enough for nanosecond granularity (47bits), we could easily push it to pico seconds resolution (57bits) in the future.

Christian



More information about the Python-Dev mailing list