Minimum date in Java
Java中的最小日期值是多少?
不要忘记日期构造函数乐于接受负值。
号
退货
Sun Dec 02 22:47:04 BDT 292269055
号
我想那是关于大爆炸的时间
编辑
正如MartinClayton所回答的,你可以使用日历类来检查时代。这将输出0,代表BCE:
1 2 3 |
如果你说
你会看到这代表1970年1月1日格林威治标准时间01:00:00星期四
正如Tulskiy指出的,可以将负值传递给日期构造函数。如果我们这样做并使用日期格式,包括我们可以看到的时代:
1 2 3 | 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)); |
显示:Sun,2 Dec 292269055 BC 16:47:04+0000
其他答案可能是正确的,但使用过时的课程。
java.time时间旧的DealTimes类(Java.U.L.Deal/Calm等)已经被JavaTimeFramework内置到Java 8和以后的版本中取代。
JavaTime类是由JoDA时间启发的,由JSR 310定义,由TrutEnEnter Project扩展,通过TeReTeNeN后端项目返回到Java 6和7,并适用于TruteTeNABP项目中的Android。请参见教程。
在UTC时间轴上的一刻,分辨率为纳秒,使用
Instant.MIN =-1000000000-01-01T00:00Z 。OffsetDateTime.MIN =-999999999-01-01T00:00:00+18:00 。LocalDate.MIN =-999999999-01-01 。LocalTime.MIN =00:00 。LocalDateTime.MIN =-999999999-01-01T00:00:00 。Year.MIN_VALUE =-999,999,999 。ZoneOffset.MIN =-18:00 (但实际上-12:00 )
小心:小心使用这些值作为某种标志或特殊含义。许多其他软件库和数据库可能不支持这些极端值。
对于一个标志或特殊含义,如非空"无可用值",我建议选择一个任意的时刻,但避免走到这样的极端,要么向后,要么向前。可能是UNIX历元参考日期,UTC中的第一个时刻1970,1970-01-01T0:00:0:00。
它和日历课程一样。
试试这个:
。
你会看到:
1 | Sun Dec 02 16:47:04 GMT 292269055 |
但是默认的日期格式不包括纪元,纪元就是这个日期的BCE。
由于
你也可以使用long.min_值,在我写这个的时候,我没有搜索它,甚至/所以我不记得它。。