Суббота, 26.05.2012, 01:37

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Страница 1 из 11
Форум игроделов » Программирование » Java » Интересная особенность java.util.Calendar (номер месяца)
Интересная особенность java.util.Calendar
M1ghtMortalДата: Воскресенье, 11.12.2011, 21:08 | Сообщение # 1
участник
Сообщений: 182
Сейчас нет на сайте
Доброго времени суток.
Сегодня заметил одну интересную особенность в java.util.Calendar. А именно, если вызвать someCalendar.get(Calendar.MONTH) то вы получите номер месяца, при этом отсчет начат с нуля. Например декабрь вернет 11. Все остальные поля, такие как DAY, SECONDS, YEAR отсчитываются как и реальной жизни(в основном с 1).

Java/C++/Unity(C#) Programmer.
Мой блог MightMortal.RU
Программист команды 41.Fos


Сообщение отредактировал M1ghtMortal - Понедельник, 12.12.2011, 16:11
 
noTformaTДата: Воскресенье, 11.12.2011, 21:52 | Сообщение # 2
Ukrainian independent game developer
Сообщений: 3618
Сейчас нет на сайте
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
Блог разработчика игр: PythonAnywhere! Пишите на Python везде.
РЕЛИЗ. Glow Web. [2d][flash]
РЕЛИЗ. Flow Orb. [2d][flash]
 
M1ghtMortalДата: Понедельник, 12.12.2011, 03:55 | Сообщение # 3
участник
Сообщений: 182
Сейчас нет на сайте
noTformaT, А для чего эти поля делать такими особенными? Про то, что java.util.GregorianCalendar унаследован от него я и сам знаю.

Java/C++/Unity(C#) Programmer.
Мой блог MightMortal.RU
Программист команды 41.Fos
 
noTformaTДата: Понедельник, 12.12.2011, 11:20 | Сообщение # 4
Ukrainian independent game developer
Сообщений: 3618
Сейчас нет на сайте
M1ghtMortal, я хз, но когда мне читали джаву, мне объясняли примерно так. Класс календарь является утилитным классом, на базе которого разработчики могут собрать свой собственный календарь, например лунный или юлианский. calendar-specific value это те значения которые 100% есть в любом календаре.... Примерно как то так мне рассказали.... Но, я лично никогда не использовал Календарь, всегда GregorianCalendar... sad

@noTformaT
Блог разработчика игр: PythonAnywhere! Пишите на Python везде.
РЕЛИЗ. Glow Web. [2d][flash]
РЕЛИЗ. Flow Orb. [2d][flash]
 
prog_154rusДата: Понедельник, 12.12.2011, 12:19 | Сообщение # 5
Lonely Developer
Сообщений: 308
Сейчас нет на сайте
java.util.Calendar вроде является абстрактным. Он предполагает расширение.
 
M1ghtMortalДата: Понедельник, 12.12.2011, 16:12 | Сообщение # 6
участник
Сообщений: 182
Сейчас нет на сайте
prog_154rus, Да он абстрактный.
Пока непонятно почему сделано именно так. Буду искать инфу, просто интересно.

Добавлено (12.12.2011, 16:12)
---------------------------------------------
noTformaT, Год кстати считается либо с 1, либо 1 год до н.э. считается нулевым, так как возвращает привычные цифры.


Java/C++/Unity(C#) Programmer.
Мой блог MightMortal.RU
Программист команды 41.Fos
 
prog_154rusДата: Понедельник, 12.12.2011, 16:25 | Сообщение # 7
Lonely Developer
Сообщений: 308
Сейчас нет на сайте
M1ghtMortal, это сделано, чтобы
Quote
Класс календарь является утилитным классом, на базе которого разработчики могут собрать свой собственный календарь, например лунный или юлианский. calendar-specific value это те значения которые 100% есть в любом календаре....
 
Форум игроделов » Программирование » Java » Интересная особенность java.util.Calendar (номер месяца)
Страница 1 из 11
Поиск:

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