Time Zones and Calendars are a PITA. Although they govern how we live and when we do what, handling them programmatically is not an easy feat.
In this presentation we will look at how to deal with time zones, and two calendars: natural year, and ISO8601. We will see how it is hard to make assumptions on how they work, and explain how they came into existence. We'll focus mostly on how to handle them from within PHP, as well as how we (should) store them in databases. We'll also have a quick look at date manipulation when querying data.