Minimum date in Java

Don't forget that Date constructor happily accepts negative values.

Date date = new Date(Long.MIN_VALUE);

returns

Sun Dec 02 22:47:04 BDT 292269055

I guess that's about the time of Big Bang dinosaurs :)

EDIT

As martin clayton answered, you can use the Calendar class to check the era. This will output 0 which stands for BCE:

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(Long.MIN_VALUE));
System.out.println(calendar.get(Calendar.ERA));

If you are talking about java.util.Date as a timestamp you can do this

Date d = new Date(0L) and you will see this represents Thu Jan 01 01:00:00 GMT 1970


As tulskiy has pointed out it is possible to pass a negative value to the Date constructor. If we do this and use a date format that includes the era we can see:

Date d = new Date(Long.MIN_VALUE);
DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy G HH:mm:ss Z");
System.out.println(df.format(d));

displays: Sun, 2 Dec 292269055 BC 16:47:04 +0000