|
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.BuilderIllegalStateException - если какие-либо из полевых параметров были уже установленыCalendar.setTime(Date), Calendar.setTimeInMillis(long), Calendar.timepublic Calendar.Builder setInstant(Date instant)
instant значение, данное a Date. Этот метод эквивалентен звонку setInstant(instant.getTime()).instant - a Date представление миллисекунды смещается от ЭпохиCalendar.BuilderNullPointerException - если instant nullIllegalStateException - если какие-либо из полевых параметров были уже установленыCalendar.setTime(Date), Calendar.setTimeInMillis(long), Calendar.timepublic Calendar.Builder set(int field, int value)
field параметр к данному value. field индексирование к Calendar.fields, такой как DAY_OF_MONTH. Проверка допустимости значения поля не выполняется в этом методе. Любой из значений диапазона или нормализуется в снисходительном режиме или обнаруживается как недопустимое значение в неснисходительном режиме, создавая a Calendar.field - индексирование к Calendar поляvalue - значение поляCalendar.BuilderIllegalArgumentException - если 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.BuilderNullPointerException - если fieldValuePairs nullIllegalArgumentException - если любое из полей недопустимо, или если 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.Builderpublic 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.Builderpublic 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.Builderpublic Calendar.Builder setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
Если указанный календарь не поддерживает недельные даты, build метод бросит IllegalArgumentException.
weekYear - недельный годweekOfYear - недельное число, основанное на weekYeardayOfWeek - день недельного значения: одна из констант для DAY_OF_WEEK поле: SUNDAY, ..., SATURDAY.Calendar.BuilderCalendar.setWeekDate(int, int, int), Calendar.isWeekDateSupported()public Calendar.Builder setTimeZone(TimeZone zone)
zone. Если никакой параметр часового пояса не дается этому Caledar.Builder, значение по умолчанию TimeZone будет использоваться в build метод.zone - TimeZoneCalendar.BuilderNullPointerException - если zone nullCalendar.setTimeZone(TimeZone)public Calendar.Builder setLenient(boolean lenient)
lenient. Если никакой снисходительный параметр не дается этому Calendar.Builder, снисходительный режим будет использоваться в build метод.lenient - true для снисходительного режима; false для неснисходительного режимаCalendar.BuilderCalendar.setLenient(boolean)public Calendar.Builder setCalendarType(String type)
type. У типа календаря, данного этим методом, есть приоритет по любому явному или неявному типу календаря, данному локалью. В дополнение к доступным типам календаря, возвращенным Calendar.getAvailableCalendarTypes метод, "gregorian" и "iso8601" как псевдонимы "gregory" может использоваться с этим методом.
type - тип календаряCalendar.BuilderNullPointerException - если type nullIllegalArgumentException - если 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 - LocaleCalendar.BuilderNullPointerException - если locale nullCalendar.getInstance(Locale)public Calendar.Builder setWeekDefinition(int firstDayOfWeek, int minimalDaysInFirstWeek)
firstDayOfWeek и minimalDaysInFirstWeek это используется, чтобы определить первую неделю года. У параметров, данных этим методом, есть приоритет по значениям по умолчанию, данным локалью.firstDayOfWeek - первый день недели; один из Calendar.SUNDAY к Calendar.SATURDAYminimalDaysInFirstWeek - минимальное число дней на первой неделе (1.. 7)Calendar.BuilderIllegalArgumentException - если 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.BuilderIllegalArgumentException - если тип календаря неизвестен, или если какие-либо недопустимые значения полей даются в неснисходительном режиме, или если недельная дата дается для типа календаря, который не поддерживает недельные даты.Calendar.getInstance(TimeZone, Locale), Locale.getDefault(Locale.Category), TimeZone.getDefault()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92