Четверг, 28 Марта 2024, 20:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Java » Интересная особенность java.util.Calendar (номер месяца)
Интересная особенность 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
noTformaTДата: Понедельник, 12 Декабря 2011, 11:20 | Сообщение # 4
Ukrainian independent game developer
Сейчас нет на сайте
M1ghtMortal, я хз, но когда мне читали джаву, мне объясняли примерно так. Класс календарь является утилитным классом, на базе которого разработчики могут собрать свой собственный календарь, например лунный или юлианский. calendar-specific value это те значения которые 100% есть в любом календаре.... Примерно как то так мне рассказали.... Но, я лично никогда не использовал Календарь, всегда GregorianCalendar... sad

@noTformaT
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% есть в любом календаре....
Форум игроделов » Программирование » Java » Интересная особенность java.util.Calendar (номер месяца)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг