Noah Sussman has Falsehoods programmers believe about time, including:
All of these assumptions are wrong
- There are always 24 hours in a day.
- Months have either 30 or 31 days.
- Years have 365 days.
- February is always 28 days long.
- Any 24-hour period will always begin and end in the same day (or week, or month).
As is usual with these kinds of things, he’s only scratching the surface (even though there’s a lot more than in that excerpt). Andrew and I came up with several more already, on the subject of timezones:
- All timezones are vertical lines around the globe evenly spaced in 15 degrees intervals.
- All timezones are a whole number of hours offset from UTC.
- All timezones are no more than 12 hours offset from UTC.
- Two cities within some sufficiently small distance must be in the same timezone.
- Two cities with the same longitude must be in the same timezone.
- A city further to the east of another city must have a time ahead of or equal to the more western city.
- There will only be one timezone within any political boundary.
- Within a sufficiently large political boundary, there will be different timezones.
- Timezone designations like ‘EST’ are unambiguous.*
- Daylight savings shifts occur on the same day around the globe.
- Or at least within a hemisphere.
- Or at least within a continent.
- Or at least within a nation.
- Daylight savings shifts occur on predictable dates announced ‘sufficiently far’ in advance that there can be an exhaustive listing of them accurate for the next couple of decades.
- Well, at least the next few years.
- OK, surely at least this month?
* Both Australia and the United States call their east coast timezone this in winter, and guess what: it’s never the same time in New York as it is in Sydney, and the daylight savings status is seldom the same either. (If you’ve seen Australians call it ‘AEST’, well, yes, we do. Sometimes.)
One Reply to “More falsehoods programmers believe about time”
Also: Two cities with the same longitude and the same time must be on the same *day*
Comments are closed.