Support for dates and times has been available since Java version 1.0, mainly through the java.util.Date class. However, Date was poorly designed. For examples, months in Date start at 1 but days start at 0. A lot of its methods were deprecated in JDK 1.1 at the same time the java.util.Calendar was brought in to take over some of the functionality in Date. The duo were the main classes for dealing with dates and times, right up to JDK 1.7, even though they had been considered inadequate and not easy to work with, causing many to resort to third party alternatives such as Joda Time (http://joda.org). The new Date and Time API in JDK 1.8 resolves many of the issues in the old API and is similar to the Joda Time API.