为什么会这样?对于月份和日期,我认为Java假设使用的是以前的有效月份和日期,但是我不明白为什么年份是2。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date result = sdf.parse("0000/00/00");
System.out.println(result.toString());
输出为:
Sun Nov 30 00:00:00 GMT 2
公历没有0年。
0年对应于1BCE(在共同时代之前,也称为BC)。
由于您为月份提供0,为当天提供0,因此它将回滚到上个月和上一年。
即公元前30年11月30日。
Date#toString
确实不包括BCE / CE后缀。在大多数情况下,这是多余的。
如果您要使用很久以前的日期,则需要咨询历史学家。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句