Spec-Zone .ru
спецификации, руководства, описания, API
|
public static class Calendar.Builder extends Object
Calendar.Builder
используется для того, чтобы создать a Calendar
от различных разовых датой параметров. Есть два способа установить a Calendar
к разовому датой значению. Нужно установить мгновенные параметры к смещению миллисекунды от Эпохи. Другой должен установить отдельные полевые параметры, такой как YEAR
, к их требуемым значениям. Эти два пути не могут быть смешаны. Попытка установить и мгновенные и отдельные поля вызовет IllegalStateException
быть брошенным. Однако, разрешается переопределить предыдущие значения полевых параметров или момента.
Если никакие достаточно многие полевые параметры не даются для того, чтобы определить дату и/или время, календарь, определенные значения по умолчанию используются, создавая a Calendar
. Например, если YEAR
значение не дается для Григорианского календаря, 1970 будет использоваться. Если есть какие-либо конфликты среди полевых параметров, правила разрешения применяются. Поэтому, порядок полевых вопросов установки.
В дополнение к разовым датой параметрам могут быть установлены локаль, часовой пояс, недельное определение, и параметры режима мягкости.
Примеры
Следующее является демонстрационными использованиями. Пример кода предполагает что Calendar
константы статически импортируются.
Следующий код производит a Calendar
с датой 31.12.2012 (Грегорианский), потому что понедельник является первым днем недели с ISO 8601 совместимые недельные параметры.
Calendar cal = new Calendar.Builder().setCalendarType("iso8601") .setWeekDate(2013, 1, MONDAY).build();
Следующий код производит японца Calendar
с датой 08.01.1989 (Грегорианский), предполагая, что значение по умолчанию ERA
Heisei, который запускался в тот день.
Calendar cal = new Calendar.Builder().setCalendarType("japanese") .setFields(YEAR, 1, DAY_OF_YEAR, 1).build();
Calendar.getInstance(TimeZone, Locale)
, Calendar.fields
Конструктор и Описание |
---|
Calendar.Builder()
Конструкции a
Calendar.Builder . |
Модификатор и Тип | Метод и Описание |
---|---|
Календарь |
build()
Возвраты a
Calendar созданный из параметров устанавливается методами метода set. |
Календарь. Разработчик |
set(int field, int value)
Наборы
field параметр к данному value . |
Календарь. Разработчик |
setCalendarType(String type)
Устанавливает параметры типа календаря к данному
type . |
Календарь. Разработчик |
setDate(int year, int month, int dayOfMonth)
Устанавливает параметры поля даты к значениям, данным
year , month , и dayOfMonth . |
Календарь. Разработчик |
setFields(int... fieldValuePairs)
Устанавливает полевые параметры к их значениям, данным
fieldValuePairs это - пары поля и его значения. |
Календарь. Разработчик |
setInstant(Date instant)
Устанавливает мгновенные параметры к
instant значение, данное a Date . |
Календарь. Разработчик |
setInstant(long instant)
Устанавливает мгновенные параметры к данному
instant значение, которое является смещением миллисекунды от Эпохи. |
Календарь. Разработчик |
setLenient(boolean lenient)
Устанавливает снисходительные параметры режима к значению, данному
lenient . |
Календарь. Разработчик |
setLocale(Locale locale)
Устанавливает параметр локали в данный
locale . |
Календарь. Разработчик |
setTimeOfDay(int hourOfDay, int minute, int second)
Устанавливает полевые параметры времени суток к значениям, данным
hourOfDay , minute , и second . |
Календарь. Разработчик |
setTimeOfDay(int hourOfDay, int minute, int second, int millis)
Устанавливает полевые параметры времени суток к значениям, данным
hourOfDay , minute , second , и millis . |
Календарь. Разработчик |
setTimeZone(TimeZone zone)
Устанавливает параметры часового пояса к данному
zone . |
Календарь. Разработчик |
setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
Устанавливает основанные на неделе параметры даты к значениям с данными спецификаторами даты - недельный год, неделя года, и день недели.
|
Календарь. Разработчик |
setWeekDefinition(int firstDayOfWeek, int minimalDaysInFirstWeek)
Устанавливает недельные параметры определения к значениям, данным
firstDayOfWeek и minimalDaysInFirstWeek это используется, чтобы определить первую неделю года. |
public Calendar.Builder()
Calendar.Builder
.public Calendar.Builder setInstant(long instant)
instant
значение, которое является смещением миллисекунды от Эпохи.instant
- миллисекунда смещается от ЭпохиCalendar.Builder
IllegalStateException
- если какие-либо из полевых параметров были уже установленыCalendar.setTime(Date)
, Calendar.setTimeInMillis(long)
, Calendar.time
public Calendar.Builder setInstant(Date instant)
instant
значение, данное a Date
. Этот метод эквивалентен звонку setInstant(instant.getTime())
.instant
- a Date
представление миллисекунды смещается от ЭпохиCalendar.Builder
NullPointerException
- если instant
null
IllegalStateException
- если какие-либо из полевых параметров были уже установленыCalendar.setTime(Date)
, Calendar.setTimeInMillis(long)
, Calendar.time
public Calendar.Builder set(int field, int value)
field
параметр к данному value
. field
индексирование к Calendar.fields
, такой как DAY_OF_MONTH
. Проверка допустимости значения поля не выполняется в этом методе. Любой из значений диапазона или нормализуется в снисходительном режиме или обнаруживается как недопустимое значение в неснисходительном режиме, создавая a Calendar
.field
- индексирование к Calendar
поляvalue
- значение поляCalendar.Builder
IllegalArgumentException
- если field
недопустимоIllegalStateException
- если мгновенное значение было уже установлено, или если поля были установлены слишком многие (приблизительно Integer.MAX_VALUE
) времена.Calendar.set(int, int)
public Calendar.Builder setFields(int... fieldValuePairs)
fieldValuePairs
это - пары поля и его значения. Например, setFeilds(Calendar.YEAR, 2013, Calendar.MONTH, Calendar.DECEMBER, Calendar.DAY_OF_MONTH, 23);эквивалентно последовательности следующего
set
вызовы: set(Calendar.YEAR, 2013) .set(Calendar.MONTH, Calendar.DECEMBER) .set(Calendar.DAY_OF_MONTH, 23);
fieldValuePairs
- пары значения поляCalendar.Builder
NullPointerException
- если fieldValuePairs
null
IllegalArgumentException
- если любое из полей недопустимо, или если fieldValuePairs.length
нечетное число.IllegalStateException
- если мгновенное значение было установлено, или если поля были установлены слишком многие (приблизительно Integer.MAX_VALUE
) времена.public Calendar.Builder setDate(int year, int month, int dayOfMonth)
year
, month
, и dayOfMonth
. Этот метод эквивалентен звонку: setFields(Calendar.YEAR, year, Calendar.MONTH, month, Calendar.DAY_OF_MONTH, dayOfMonth);
year
- YEAR
значениеmonth
- MONTH
значение (месяц, нумеруя на основе 0).dayOfMonth
- DAY_OF_MONTH
значениеCalendar.Builder
public Calendar.Builder setTimeOfDay(int hourOfDay, int minute, int second)
hourOfDay
, minute
, и second
. Этот метод эквивалентен звонку: setTimeOfDay(hourOfDay, minute, second, 0);
hourOfDay
- HOUR_OF_DAY
значение (24-часовые часы)minute
- MINUTE
значениеsecond
- SECOND
значениеCalendar.Builder
public Calendar.Builder setTimeOfDay(int hourOfDay, int minute, int second, int millis)
hourOfDay
, minute
, second
, и millis
. Этот метод эквивалентен звонку: setFields(Calendar.HOUR_OF_DAY, hourOfDay, Calendar.MINUTE, minute, Calendar.SECOND, second, Calendar.MILLISECOND, millis);
hourOfDay
- HOUR_OF_DAY
значение (24-часовые часы)minute
- MINUTE
значениеsecond
- SECOND
значениеmillis
- MILLISECOND
значениеCalendar.Builder
public Calendar.Builder setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
Если указанный календарь не поддерживает недельные даты, build
метод бросит IllegalArgumentException
.
weekYear
- недельный годweekOfYear
- недельное число, основанное на weekYear
dayOfWeek
- день недельного значения: одна из констант для DAY_OF_WEEK
поле: SUNDAY
, ..., SATURDAY
.Calendar.Builder
Calendar.setWeekDate(int, int, int)
, Calendar.isWeekDateSupported()
public Calendar.Builder setTimeZone(TimeZone zone)
zone
. Если никакой параметр часового пояса не дается этому Caledar.Builder
, значение по умолчанию TimeZone
будет использоваться в build
метод.zone
- TimeZone
Calendar.Builder
NullPointerException
- если zone
null
Calendar.setTimeZone(TimeZone)
public Calendar.Builder setLenient(boolean lenient)
lenient
. Если никакой снисходительный параметр не дается этому Calendar.Builder
, снисходительный режим будет использоваться в build
метод.lenient
- true
для снисходительного режима; false
для неснисходительного режимаCalendar.Builder
Calendar.setLenient(boolean)
public Calendar.Builder setCalendarType(String type)
type
. У типа календаря, данного этим методом, есть приоритет по любому явному или неявному типу календаря, данному локалью. В дополнение к доступным типам календаря, возвращенным Calendar.getAvailableCalendarTypes
метод, "gregorian"
и "iso8601"
как псевдонимы "gregory"
может использоваться с этим методом.
type
- тип календаряCalendar.Builder
NullPointerException
- если type
null
IllegalArgumentException
- если type
неизвестноIllegalStateException
- если другой тип календаря был уже установленCalendar.getCalendarType()
, Calendar.getAvailableCalendarTypes()
public Calendar.Builder setLocale(Locale locale)
locale
. Если никакая локаль не дается этому Calendar.Builder
, значение по умолчанию Locale
для Locale.Category.FORMAT
будет использоваться. Если никакой тип календаря не явно задан звонком setCalendarType
метод, Locale
значение используется, чтобы определить какой Calendar
быть созданным.
Если никакие недельные параметры определения не явно заданы звонком setWeekDefinition
метод, Locale
's значения по умолчанию используются.
locale
- Locale
Calendar.Builder
NullPointerException
- если locale
null
Calendar.getInstance(Locale)
public Calendar.Builder setWeekDefinition(int firstDayOfWeek, int minimalDaysInFirstWeek)
firstDayOfWeek
и minimalDaysInFirstWeek
это используется, чтобы определить первую неделю года. У параметров, данных этим методом, есть приоритет по значениям по умолчанию, данным локалью.firstDayOfWeek
- первый день недели; один из Calendar.SUNDAY
к Calendar.SATURDAY
minimalDaysInFirstWeek
- минимальное число дней на первой неделе (1.. 7)Calendar.Builder
IllegalArgumentException
- если firstDayOfWeek
или minimalDaysInFirstWeek
недопустимоCalendar.getFirstDayOfWeek()
, Calendar.getMinimalDaysInFirstWeek()
public Calendar build()
Calendar
созданный из параметров устанавливается методами метода set. Тип календаря, данный setCalendarType
метод или локаль используются, чтобы определить что Calendar
создаваться. Если никакой явный тип календаря не дается, календарь значения по умолчанию локали создается. Если тип календаря "iso8601"
, Грегорианская дата изменения a GregorianCalendar
устанавливается в Date(Long.MIN_VALUE)
быть преждевременным Григорианским календарем. Его недельные параметры определения также устанавливаются, чтобы быть совместимыми со стандартом ISO 8601. Отметьте что getCalendarType
метод a GregorianCalendar
создаваемый с "iso8601"
возвраты "gregory"
.
Значения по умолчанию используются для локали и часового пояса, если эти параметры не были даны явно.
Любой из значений полей диапазона или нормализуется в снисходительном режиме или обнаруживается как недопустимое значение в неснисходительном режиме.
Calendar
созданный с параметрами этого Calendar.Builder
IllegalArgumentException
- если тип календаря неизвестен, или если какие-либо недопустимые значения полей даются в неснисходительном режиме, или если недельная дата дается для типа календаря, который не поддерживает недельные даты.Calendar.getInstance(TimeZone, Locale)
, Locale.getDefault(Locale.Category)
, TimeZone.getDefault()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92