PyCon 2019 in Cleveland, Ohio

Sunday 2:30 p.m.–3 p.m. in Room 26A/B/C

Working with Time Zones: Everything You Wish You Didn't Need to Know

Paul Ganssle

Description

Time zones are complicated, but they are a fact of engineering life. Time zones have [skipped entire days](http://www.bbc.com/news/world-asia-16351377) and repeated others. There are time zones that switch to [DST twice per year](https://www.timeanddate.com/time/zone/morocco/casablanca). But not necessarily every year. In Python it's even possible to create datetimes with non-transitive equality (`a == b`, `b == c`, `a != c`). In this talk you'll learn about Python's time zone model and other concepts critical to avoiding datetime troubles. Using `dateutil` and `pytz` as examples, this talk covers how to deal with ambiguous and imaginary times, datetime arithmetic around a Daylight Savings Time transition, and datetime's new `fold` attribute, introduced in Python 3.6 ([PEP 495](https://www.python.org/dev/peps/pep-0495/)).