Интересная особенность java.util.Calendar
|
|
M1ghtMortal | Дата: Воскресенье, 11 Декабря 2011, 21:08 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Доброго времени суток. Сегодня заметил одну интересную особенность в java.util.Calendar. А именно, если вызвать someCalendar.get(Calendar.MONTH) то вы получите номер месяца, при этом отсчет начат с нуля. Например декабрь вернет 11. Все остальные поля, такие как DAY, SECONDS, YEAR отсчитываются как и реальной жизни(в основном с 1).
Java/C++/Unity(C#) Programmer. Мой блог MightMortal.RU
Сообщение отредактировал M1ghtMortal - Понедельник, 12 Декабря 2011, 16:11 |
|
| |
noTformaT | Дата: Воскресенье, 11 Декабря 2011, 21:52 | Сообщение # 2 |
Ukrainian independent game developer
Сейчас нет на сайте
| M1ghtMortal,
public static final int MONTH
Field number for get and set indicating the month. This is a calendar-specific value. The first month of the year is JANUARY which is 0; the last depends on the number of months in a year.
Флаг calendar-specific - имеет только несколько констант: ERA, YEAR, MONTH. Все остальное не calendar-specific . Так как java.util.Calendar является базовым для всех остальных, в частности для java.util.GregorianCalendar.
@noTformaT
|
|
| |
M1ghtMortal | Дата: Понедельник, 12 Декабря 2011, 03:55 | Сообщение # 3 |
участник
Сейчас нет на сайте
| noTformaT, А для чего эти поля делать такими особенными? Про то, что java.util.GregorianCalendar унаследован от него я и сам знаю.
Java/C++/Unity(C#) Programmer. Мой блог MightMortal.RU
|
|
| |
|
prog_154rus | Дата: Понедельник, 12 Декабря 2011, 12:19 | Сообщение # 5 |
Lonely Developer
Сейчас нет на сайте
| java.util.Calendar вроде является абстрактным. Он предполагает расширение.
|
|
| |
M1ghtMortal | Дата: Понедельник, 12 Декабря 2011, 16:12 | Сообщение # 6 |
участник
Сейчас нет на сайте
| prog_154rus, Да он абстрактный. Пока непонятно почему сделано именно так. Буду искать инфу, просто интересно.Добавлено (12.12.2011, 16:12) --------------------------------------------- noTformaT, Год кстати считается либо с 1, либо 1 год до н.э. считается нулевым, так как возвращает привычные цифры.
Java/C++/Unity(C#) Programmer. Мой блог MightMortal.RU
|
|
| |
prog_154rus | Дата: Понедельник, 12 Декабря 2011, 16:25 | Сообщение # 7 |
Lonely Developer
Сейчас нет на сайте
| M1ghtMortal, это сделано, чтобы Quote Класс календарь является утилитным классом, на базе которого разработчики могут собрать свой собственный календарь, например лунный или юлианский. calendar-specific value это те значения которые 100% есть в любом календаре....
|
|
| |