Год 0000 в Яве - PullRequest
       4

Год 0000 в Яве

2 голосов
/ 09 декабря 2011

Когда я анализирую дату с годами 0000, она выглядит как год 0001.

См. Ниже код:

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);

Выходные данные приведены ниже:

00000102
00010102

Есть ли способ представить год 0000 в Java с помощью стандартного API Java?

Ответы [ 3 ]

10 голосов
/ 09 декабря 2011

Я не верю, что это возможно, поскольку java.util.Date основан на UTC , который основан на Григорианский календарь и Григорианский календарь не имеет нулевого года.

... традиционный пролептический григорианский календарь (подобно юлианскому календарю) не имеет года 0 и вместо этого использует порядковые числа 1, 2,… как для лет нашей эры, так и до нашей эры. Таким образом, традиционная временная линия составляет 2 г. до н.э., 1 г. до н.э., 1 г. н.э. и 2. н.э.

(Источник: Статья в Википедии о григорианском календаре )

2 голосов
/ 09 декабря 2011

Я не думаю, что календарь основан на нуле.До 1 года нашей эры был 1 год до нашей эры.Нет 0.

Кроме того: какое приложение вы разрабатываете для обработки дат из той эпохи?И если вам нужно охватить эту область, рассмотрите это : «Даты, полученные с помощью GregorianCalendar, исторически точны только с 1 марта 4 года н.э., когда были приняты современные правила юлианского календаря. До этой даты правила високосного годаприменялись нерегулярно, и до 45 г. до н.э. юлианский календарь даже не существовал. "

1 голос
/ 09 декабря 2011

Год 0 не существует в григорианском календаре. От Год 0 в Википедии :

«Ноль года» не существует в широко используемом григорианском календаре или в его предшественнике, юлианском календаре. В этих системах за 1 г. до н.э. следует 1 год нашей эры.

...

Отсутствие года 0 приводит к некоторой путанице в отношении границ более длинных десятичных интервалов, таких как десятилетия и столетия. Например, третье тысячелетие григорианского календаря началось в понедельник, 1 января 2001 года, а не в широко отмечаемую субботу, 1 января 2000 года. Аналогичным образом, 20-е столетие началось 1 января 1901 года.

...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...