Friday
3:15 p.m.–4 p.m.
Blame it on Caesar: What you need to know about dates, times and time zones
- Audience level:
- Intermediate
- Category:
- Best Practices/Patterns
Description
Time measurement is a complex area full of tricky problems and unexpected edge-cases. This fast-paced talk tells you how to avoid the pitfalls, and warn about the compromises.
Abstract
- Why calendaring is so hard: Explaining calendars by showing the history of the Gregorian calendar. (8 minutes)
- Showing some code to show the complexity (2 minutes)
- The libraries you need: datetime (Python), moment.js (Javascript), Date4J (Java) (1min)
- The evil of Zero-indexed months (1min)
- The profusion and confusion of week days (3min)
- Time zones doesn't exist. but they are still a mess (2min)
- Daylight saving is even worse (1min)
- How the tz/zoneinfo/olsen database makes it less messy (3min)
- How daylight saving can makes your birthday disappear (2min)
- Daylight saving and Python: pytz vs dateutil (3min)
- pytz vs datetime (2min)
- Parsing datetimes with time zones: RF2822 vs POSIX (1min)
- iCalendar: importing/exporting events (1min)
- Recurring events and iCalendars RRULE (3min)
- Calendaring compromises (1min)
- User interface problems (6min)
- Date pickers
- Time pickers
- Timezone se1ectors
- Showing calendars
- Recurrence rule widget
- Non-javascript solutions for web