Spec-Zone.ru › OpenJDK 8

Класс WeekFields

  • java.lang.Object
    • java.time.temporal.WeekFields
Все реализуемые интерфейсы:
Serializable

public final class WeekFields
extends Object
implements Serializable

Локализованные определения полей день недели, неделя месяца и неделя года.

Стандартная неделя состоит из семи дней, но у культур существуют разные определения некоторых других аспектов недели. Этот класс представляет определение недели для целей предоставления экземпляров TemporalField.

WeekFields предоставляет пять полей, dayOfWeek(), weekOfMonth(), weekOfYear(), weekOfWeekBasedYear() и weekBasedYear(), которые обеспечивают доступ к значениям из любого временного объекта.

Вычисления для дня недели, недели месяца и недели года основаны на пролептическом году, месяце, дне месяца и день недели ISO, которые основаны на эпохе дня и хронологии. Значения могут не совпадать с годом эры в зависимости от хронологии.

Неделя определяется:

  • Первый день недели. Например, стандарт ISO-8601 считает понедельник первым днем недели.
  • Минимальное количество дней в первой неделе. Например, стандарт ISO-8601 считает, что первая неделя должна состоять как минимум из 4 дней.
Вместе эти два значения позволяют разделить год или месяц на недели.

Неделя месяца

Используется одно поле: неделя месяца. Вычисление гарантирует, что недели никогда не пересекают границу месяца. Месяц делится на периоды, где каждый период начинается в определенный первый день недели. Наиболее ранний период называется неделей 0, если он содержит меньше минимального количества дней, и неделей 1, если он содержит как минимум минимальное количество дней.
Дата День недели Первый день: понедельник
Минимальные дни: 4
Первый день: понедельник
Минимальные дни: 5
2008-12-31 Среда Неделя 5 декабря 2008 года Неделя 5 декабря 2008 года
2009-01-01 Четверг Неделя 1 января 2009 года Неделя 0 января 2009 года
2009-01-04 Воскресенье Неделя 1 января 2009 года Неделя 0 января 2009 года
2009-01-05 Понедельник Неделя 2 января 2009 года Неделя 1 января 2009 года

Неделя года

Используется одно поле: неделя года. Вычисление гарантирует, что недели никогда не пересекают границу года. Год делится на периоды, где каждый период начинается в определенный первый день недели. Наиболее ранний период называется неделей 0, если он содержит меньше минимального количества дней, и неделей 1, если он содержит как минимум минимальное количество дней.

Неделя года

Для недели года используются два поля, одно для week-of-week-based-year и одно для week-based-year. В году, основанном на неделе, каждая неделя принадлежит только одному году. Неделя 1 года — это первая неделя, которая начинается в первый день недели и содержит как минимум минимальное количество дней. Первая и последняя недели года могут содержать дни предыдущего или следующего календарного года соответственно.
Дата День недели Первый день: понедельник
Минимальные дни: 4
Первый день: понедельник
Минимальные дни: 5
2008-12-31 Среда Неделя 1 2009 года Неделя 53 2008 года
2009-01-01 Четверг Неделя 1 2009 года Неделя 53 2008 года
2009-01-04 Воскресенье Неделя 1 2009 года Неделя 53 2008 года
2009-01-05 Понедельник Неделя 2 2009 года Неделя 1 2009 года
Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
С:
1.8
См. также:
Сериализованная форма

Поля

Модификатор и тип Поле и описание
static WeekFields ISO

Определение ISO-8601, где неделя начинается с понедельника, а первая неделя содержит минимум 4 дня.

static WeekFields SUNDAY_START

Общее определение недели, начинающейся с воскресенья, а первая неделя содержит минимум 1 день.

static TemporalUnit WEEK_BASED_YEARS

Единица, представляющая годы, основанные на неделях, для целей добавления и вычитания.

Методы

Модификатор и тип Метод и описание
TemporalField dayOfWeek()

Возвращает поле для доступа к дню недели на основе этого WeekFields.

boolean equals(Object object)

Проверяет, равен ли этот WeekFields указанному объекту.

DayOfWeek getFirstDayOfWeek()

Возвращает первый день недели.

int getMinimalDaysInFirstWeek()

Возвращает минимальное количество дней в первой неделе.

int hashCode()

Хеш-код для этого WeekFields.

static WeekFields of(DayOfWeek firstDayOfWeek, int minimalDaysInFirstWeek)

Получает экземпляр WeekFields по первому дню недели и минимальному количеству дней.

static WeekFields of(Locale locale)

Получает экземпляр WeekFields, соответствующий локали.

String toString()

Строковое представление экземпляра этого WeekFields.

TemporalField weekBasedYear()

Возвращает поле для доступа к году недели, основанной на этой WeekFields.

TemporalField weekOfMonth()

Возвращает поле для доступа к неделе месяца на основе этого WeekFields.

TemporalField weekOfWeekBasedYear()

Возвращает поле для доступа к неделе года, основанной на этой WeekFields.

TemporalField weekOfYear()

Возвращает поле для доступа к неделе года на основе этого WeekFields.

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Поля

ISO

public static final WeekFields ISO

Определение ISO-8601, где неделя начинается с понедельника, а первая неделя содержит минимум 4 дня.

Стандарт ISO-8601 определяет календарную систему, основанную на неделях. Он использует понятия года, основанного на неделях, и недели, основанной на году, для разделения дней вместо стандартного года/месяца/дня.

Обратите внимание, что первая неделя может начинаться в предыдущем календарном году. Также обратите внимание, что первые несколько дней календарного года могут быть в году, основанном на неделях, соответствующем предыдущему календарному году.

SUNDAY_START

public static final WeekFields SUNDAY_START

Общее определение недели, которая начинается с воскресенья, а первая неделя содержит минимум 1 день.

Определено как начинающееся с воскресенья и с минимальным количеством 1 дня в месяце. Это определение недели используется в США и других европейских странах.

ГОДЫ, ОСНОВАННЫЕ НА НЕДЕЛЯХ

public static final TemporalUnit WEEK_BASED_YEARS

Единица, представляющая годы, основанные на неделях, для целей сложения и вычитания.

Это позволяет добавить или вычесть количество лет, основанных на неделях, из даты. Единица равна либо 52, либо 53 неделям. Примерная продолжительность года, основанного на неделях, такая же, как и стандартного года ISO, в 365.2425 Days.

Правила сложения добавляют количество лет, основанных на неделях, к существующему значению поля года, основанного на неделях, сохраняя неделю и день недели, если число недели слишком велико для целевого года. В этом случае неделя устанавливается на последнюю неделю года с тем же днем недели.

Эта единица является неизменяемым и потокобезопасным синглетоном.

Методы

of

public static WeekFields of(Locale locale)

Получает экземпляр WeekFields, подходящий для определенного региона.

Это будет искать соответствующие значения у поставщика данных локализации.

Параметры:
locale - используемый регион, не null
Возвращает:
определение недели, не null

of

public static WeekFields of(DayOfWeek firstDayOfWeek,
                            int minimalDaysInFirstWeek)

Получает экземпляр WeekFields на основе первого дня недели и минимального количества дней.

Первый день недели определяет ISO DayOfWeek , который является 1-м днем недели. Минимальное количество дней в первой неделе определяет, сколько дней должно быть в месяце или году, начиная с первого дня недели, прежде чем неделя будет считаться первой неделей. Значение 1 будет считать первый день месяца или года частью первой недели, тогда как значение 7 потребует присутствия всех семи дней в новом месяце или году.

Экземпляры WeekFields являются синглетонами; для каждой уникальной комбинации firstDayOfWeek и minimalDaysInFirstWeek будет возвращен тот же экземпляр.

Параметры:
firstDayOfWeek - первый день недели, не null
minimalDaysInFirstWeek - минимальное количество дней в первой неделе, от 1 до 7
Возвращает:
определение недели, не null
Исключения:
IllegalArgumentException - если значение минимальных дней меньше одного или больше семи

getFirstDayOfWeek

public DayOfWeek getFirstDayOfWeek()

Получает первый день недели.

Первый день недели варьируется в зависимости от культуры. Например, в США это воскресенье, а во Франции и в стандарте ISO-8601 - понедельник. Этот метод возвращает первый день, используя стандартный DayOfWeek перечисление.

Возвращает:
первый день недели, не null

getMinimalDaysInFirstWeek

public int getMinimalDaysInFirstWeek()

Получает минимальное количество дней в первой неделе.

Количество дней, считаемых для определения первой недели месяца или года, различается в зависимости от культуры. Например, стандарт ISO-8601 требует наличия 4 дней (более половины недели), прежде чем считать первую неделю.

Возвращает:
минимальное количество дней в первой неделе месяца или года, от 1 до 7

dayOfWeek

public TemporalField dayOfWeek()

Возвращает поле для доступа к дню недели на основе этого WeekFields.

Это аналогично ChronoField.DAY_OF_WEEK, но использует значения для дня недели, основанные на этом WeekFields. Дни пронумерованы от 1 до 7, где first day-of-week присваивается значение 1.

Например, если первый день недели - воскресенье, то он будет иметь значение 1, а другие дни будут варьироваться от понедельника (2) до субботы (7).

На стадии разрешения при парсинге локализованный день недели будет преобразован в стандартный ChronoField день недели. День недели должен находиться в допустимом диапазоне от 1 до 7. Другие поля в этом классе создают даты, используя стандартизованный день недели.

Возвращает:
поле, обеспечивающее доступ к дню недели с локализованной нумерацией, не null

weekOfMonth

public TemporalField weekOfMonth()

Возвращает поле для доступа к неделе месяца на основе этого WeekFields.

Это представляет собой понятие подсчета недель в месяце, где недели начинаются в определенный день недели, например, в понедельник. Это поле обычно используется с dayOfWeek().

Неделя один (1) - это неделя, начинающаяся с getFirstDayOfWeek(), где в месяце есть как минимум getMinimalDaysInFirstWeek() дня. Таким образом, первая неделя может начинаться до minDays дней до начала месяца. Если первая неделя начинается после начала месяца, то период до этого - неделя ноль (0).

Например:
- если 1-е число месяца - понедельник, неделя один начинается с 1-го, и нет недели ноль
- если 2-е число месяца - понедельник, неделя один начинается с 2-го, а 1-е попадает в неделю ноль
- если 4-е число месяца - понедельник, неделя один начинается с 4-го, а 1-е до 3-го находятся в неделе ноль
- если 5-е число месяца - понедельник, неделя два начинается с 5-го, а 1-е до 4-го находятся в неделе один

Это поле можно использовать с любой календарной системой.

На этапе разрешения при парсинге дата может быть создана из года, недели месяца, месяца года и дня недели.

В строгом режиме все четыре поля проверяются на соответствие диапазону допустимых значений. Поле недели месяца проверяется, чтобы убедиться, что полученный месяц - это запрашиваемый месяц.

В умном режиме все четыре поля проверяются на соответствие диапазону допустимых значений. Поле недели месяца проверяется от 0 до 6, что означает, что полученная дата может быть в другом месяце, чем указанный.

В мягком режиме год и день недели проверяются на соответствие диапазону допустимых значений. Результирующая дата рассчитывается в соответствии с следующим четырехэтапным подходом. Во-первых, создается дата на первое число первой недели января в запрошенном году. Затем берется месяц, вычитается один, и добавляется количество месяцев к дате. Затем берется неделя месяца, вычитается один, и добавляется количество недель к дате. Наконец, производится корректировка до правильного дня недели в локализованной неделе.

Возвращает:
поле, обеспечивающее доступ к неделе месяца, не null

weekOfYear

public TemporalField weekOfYear()

Возвращает поле для доступа к неделе года на основе этого WeekFields.

Это представляет собой понятие подсчета недель в году, где недели начинаются в определенный день недели, например, в понедельник. Это поле обычно используется с dayOfWeek().

Неделя один (1) - это неделя, начинающаяся с getFirstDayOfWeek(), где в году есть как минимум getMinimalDaysInFirstWeek() дня. Таким образом, первая неделя может начинаться до minDays дней до начала года. Если первая неделя начинается после начала года, то период до этого - неделя ноль (0).

Например:
- если 1-е число года - понедельник, неделя один начинается с 1-го, и нет недели ноль
- если 2-е число года - понедельник, неделя один начинается с 2-го, а 1-е попадает в неделю ноль
- если 4-е число года - понедельник, неделя один начинается с 4-го, а 1-е до 3-го находятся в неделе ноль
- если 5-е число года - понедельник, неделя два начинается с 5-го, а 1-е до 4-го находятся в неделе один

Это поле можно использовать с любой календарной системой.

На этапе разрешения при парсинге дата может быть создана из года, недели года и дня недели.

В строгом режиме все три поля проверяются на соответствие диапазону допустимых значений. Поле недели года проверяется, чтобы убедиться, что полученный год - это запрошенный год.

В умном режиме все три поля проверяются на соответствие диапазону допустимых значений. Поле недели года проверяется от 0 до 54, что означает, что полученная дата может быть в другом году, чем указанный.

В мягком режиме год и день недели проверяются на соответствие диапазону допустимых значений. Результирующая дата рассчитывается в соответствии со следующим трехэтапным подходом. Во-первых, создается дата на первое число первой недели в запрошенном году. Затем берется неделя года, вычитается один, и добавляется количество недель к дате. Наконец, производится корректировка до правильного дня недели в локализованной неделе.

Возвращает:
поле, обеспечивающее доступ к неделе года, не null

weekOfWeekBasedYear

public TemporalField weekOfWeekBasedYear()

Возвращает поле для доступа к неделе в году, основанной на этой WeekFields.

Это представляет собой концепцию подсчета недель в году, где недели начинаются в определенный день недели, например, в понедельник, и каждая неделя принадлежит ровно одному году. Это поле обычно используется с dayOfWeek() и weekBasedYear().

Первая неделя (1) — это неделя, начинающаяся в getFirstDayOfWeek(), где в году есть как минимум getMinimalDaysInFirstWeek() дней. Если первая неделя начинается после начала года, то период до этого относится к последней неделе предыдущего года.

Например:
- если 1-е число года — понедельник, первая неделя начинается с 1-го числа
- если 2-е число года — понедельник, первая неделя начинается со 2-го числа, а 1-е число относится к последней неделе предыдущего года
- если 4-е число года — понедельник, первая неделя начинается с 4-го числа, а 1-е, 2-е и 3-е числа относятся к последней неделе предыдущего года
- если 5-е число года — понедельник, вторая неделя начинается с 5-го числа, а 1-е, 2-е, 3-е и 4-е числа относятся к первой неделе

Это поле может быть использовано с любой системой календаря.

В фазе разрешения при парсинге дата может быть создана из года, основанного на неделях, недели и дня недели.

В строгом режиме все три поля проверяются на соответствие диапазону допустимых значений. Поле недели проверяется, чтобы убедиться, что полученный год, основанный на неделях, совпадает с запрошенным.

В умном режиме все три поля проверяются на соответствие диапазону допустимых значений. Поле недели в году, основанном на неделях, проверяется на значения от 1 до 53, что означает, что полученная дата может быть в следующем году, основанном на неделях, по сравнению с указанным.

В свободном режиме год и день недели проверяются на соответствие диапазону допустимых значений. Полученная дата вычисляется в соответствии с тремя этапами. Во-первых, создается дата на первое число первой недели в запрошенном году, основанном на неделях. Затем берется значение недели в году, основанном на неделях, вычитается 1 и добавляется это значение в неделях к дате. Наконец, осуществляется корректировка до правильного дня недели в локальной неделе.

Возвращает:
поле, обеспечивающее доступ к неделе в году, основанном на неделях, не null

weekBasedYear

public TemporalField weekBasedYear()

Возвращает поле для доступа к году в году, основанном на неделях, на основе этого WeekFields.

Это представляет собой концепцию года, в котором недели начинаются в определенный день недели, например, в понедельник, и каждая неделя принадлежит ровно одному году. Это поле обычно используется с dayOfWeek() и weekOfWeekBasedYear().

Первая неделя (1) — это неделя, начинающаяся в getFirstDayOfWeek(), где в году есть как минимум getMinimalDaysInFirstWeek() дней. Таким образом, первая неделя может начинаться до начала года. Если первая неделя начинается после начала года, то период до этого относится к последней неделе предыдущего года.

Это поле может быть использовано с любой системой календаря.

В фазе разрешения при парсинге дата может быть создана из года, основанного на неделях, недели и дня недели.

В строгом режиме все три поля проверяются на соответствие диапазону допустимых значений. Поле недели проверяется, чтобы убедиться, что полученный год, основанный на неделях, совпадает с запрошенным.

В умном режиме все три поля проверяются на соответствие диапазону допустимых значений. Поле недели в году, основанном на неделях, проверяется на значения от 1 до 53, что означает, что полученная дата может быть в следующем году, основанном на неделях, по сравнению с указанным.

В свободном режиме год и день недели проверяются на соответствие диапазону допустимых значений. Полученная дата вычисляется в соответствии с тремя этапами. Во-первых, создается дата на первое число первой недели в запрошенном году, основанном на неделях. Затем берется значение недели в году, основанном на неделях, вычитается 1 и добавляется это значение в неделях к дате. Наконец, осуществляется корректировка до правильного дня недели в локальной неделе.

Возвращает:
поле, обеспечивающее доступ к году, основанному на неделях, не null

equals

public boolean equals(Object object)

Проверяет, равен ли этот WeekFields указанному объекту.

Сравнение основано на полном состоянии правил, то есть на первом дне недели и минимальном количестве дней.

Overrides:
equals в классе Object
Параметры:
object - другие правила для сравнения, null возвращает false
Возвращает:
true, если это равно указанным правилам
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Код хэша для этого WeekFields.

Overrides:
hashCode в классе Object
Возвращает:
подходящий код хэша
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public String toString()

Строковое представление этого WeekFields экземпляра.

Overrides:
toString в классе Object
Возвращает:
строковое представление, не null

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API