本文介绍了在Java中的0000年的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我解析日期为0000的日期时,它似乎存储为0001年。



请参见以下代码:

 字符串dateStr = 00000102; 
System.out.println(dateStr);
DateFormat dateFormat = new SimpleDateFormat( yyyyMMdd);
Date date = dateFormat.parse( 00000102);
字符串convertStr = dateFormat.format(date);
System.out.println(convertedStr);

输出如下:

  00000102 
00010102

有没有办法

解决方案

我不相信这是可能的,因为基于,它基于,而格里高利历没有零年。 (例如儒略历)没有年份0,而是在公元BC年使用序号1、2…。因此,传统的时间轴是2 BC,1 BC,AD 1和AD 2。


(来源:)


When I parse a date with the year 0000 it appears to be stored as the year 0001.

See below for code:

String dateStr = "00000102";
System.out.println(dateStr);
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date date = dateFormat.parse("00000102");
String convertedStr = dateFormat.format(date);
System.out.println(convertedStr);

The output is as per below:

00000102
00010102

Is there a way to represent the year 0000 in Java using the standard Java API?

解决方案

I don't believe it's possible, since java.util.Date is based on UTC, which is based on the Gregorian calendar, and the Gregorian calendar has no year zero.

(Source: The Wikipedia article on the Gregorian calendar)

这篇关于在Java中的0000年的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 18:17