Timezones
Akira Li
4kir4.1i at gmail.com
Sun Oct 5 21:10:26 EDT 2014
Seymore4Head <Seymore4Head at Hotmail.invalid> writes:
> This is not a new video, but it is new to me.
> https://www.youtube.com/watch?v=-5wpm-gesOY
>
> Any links to some easy to follow time zone math?
The point of the video is that you should not do it yourself, use
already written tools.
It is quite comprehensive video. Here's how the mentioned issues could
be resolved:
- erratic UTC offset changes by politicians in different countries --
*use UTC timezone* for calculations, in addition (if necessary) store
both the local time and timezone info. *Use pytz module* that provides
access to the tz database to convert between timezones (many people
get it wrong but it is not a rocket science). As said in the video, it
won't help if the rules change a day before the DST transition but at
least most [1] systems will be consistent. It also doesn't support
some exotic timezone rules such as in Saudi Arabia (sunrise and/or
sunset at the fixed local time every day [2]) or many timezones before
1970.
- julian, gregorian calendars, proleptic UT (past dates): *use proleptic
gregorian calendar (datetime module)* unless you know that you need
otherwise (then you could investigate what JD means in a particular
document given multiple possible interpretations)
- leap seconds (posix, Mills, Windows(ntp), smear (google, java)),
"right" timezones, and the difference between UT1, UTC(BIMP), GPS,
TT(TAI), TCB, etc time scales: *ignore them* unless you know that you
need otherwise e.g., legally elapsed seconds [3]. Here's some pictures
to illustrate the difference between time scales [4].
[1] http://www.iana.org/time-zones/repository/tz-link.html
[2] https://github.com/eggert/tz/blob/master/asia#L2439
[3] http://www.ucolick.org/~sla/leapsecs/epochtime.html
[4] http://www.ucolick.org/~sla/leapsecs/deltat.html
--
Akira
More information about the Python-list
mailing list