Java data type to hold only date
java
Solution
from the JDK: `java.sql.Date`:
A thin wrapper around a millisecond value that allows JDBC to identify this as an SQL DATE value. A milliseconds value represents the number of milliseconds that have passed since `January 1, 1970 00:00:00.000 GMT`.
To conform with the definition of SQL DATE, the millisecond values wrapped by a `java.sql.Date` instance must be 'normalized' by setting the hours, minutes, seconds, and milliseconds to zero in the particular time zone with which the instance is associated.
or from JodaTime: `DateMidnight` or `LocalDate` (thanks @cdeszaq)
`DateMidnight` defines a date where the time component is fixed at midnight. The class uses a time zone, thus midnight is local unless a UTC time zone is used.
It is important to emphasise that this class represents the time of midnight on any given day. Note that midnight is defined as 00:00, which is at the very start of a day.
Problem
Which data type in Java can hold just the date and doesn't require a time component? For example, just to store `12/07/2012`. I'm working with persisting the data to/from a database that has a date-only data type, so I'm looking for the best equivalent data type in Java.