what is the range for valid values that I can store in java.util.Date?
The API doesn't say much about this.
Or does it only support dates that can be expressed as unix timestamps (that is dates after 1.1.1970)? If so, is there maybe a (serializeable) class in the JDK that supports also dates prior to that?
What I'm looking for is a class/type for a birthday-field in db4o
解决方案
It supports dates between Long.MIN_VALUE and Long.MAX_VALUE:
class DateTest {
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("d MMM yyyy G, HH:mm:ss.S Z");
System.out.println(df.format(new Date(Long.MIN_VALUE)));
System.out.println(df.format(new Date(0)));
System.out.println(df.format(new Date(Long.MAX_VALUE)));
}
}
Outputs
2 Dec 292269055 BC, 10:47:04.192 -0600
31 Dec 1969 AD, 18:00:00.0 -0600
17 Aug 292278994 AD, 01:12:55.807 -0600
(Note: times above are Central Time)