java.util.Date
didn't work; java.util.Calendar
didn't work; maybe now?
JSR 310 Date and Time API
Dates and times are hard:
Bruce Hamilton: "the deadline for filing a tax return when I'm sitting in HI, logged into an office in NJ, submitting to a server in CA a return which will be processed in CO."
Many time measurements have varying degrees of ambiguity. An action taken in 2006 may happen after one taken in 2007. However an action taken in 2005 always precedes one in 2008 (but only if we assume both are measured in the same calendar.)
There are more than 24 time zones.
Use cases (not currently adequately handled):
A date without a time: birthday, hire date, tax deadline
A time without a date: flights, class schedule
With or without timezones
Nanosecond precision
Date and time ranges
Convert dates between time zones
Archaeological and astronomical times