Time zones are complicated, but they are a fact of engineering life. Time zones have skipped entire days and repeated others. There are time zones that switch to DST twice per year. 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).