Класс IntlCalendar

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

Введение

Обзор классов

IntlCalendar {
/* Константы */
const integer FIELD_ERA = 0 ;
const integer FIELD_YEAR = 1 ;
const integer FIELD_MONTH = 2 ;
const integer FIELD_WEEK_OF_YEAR = 3 ;
const integer FIELD_WEEK_OF_MONTH = 4 ;
const integer FIELD_DATE = 5 ;
const integer FIELD_DAY_OF_YEAR = 6 ;
const integer FIELD_DAY_OF_WEEK = 7 ;
const integer FIELD_DAY_OF_WEEK_IN_MONTH = 8 ;
const integer FIELD_AM_PM = 9 ;
const integer FIELD_HOUR = 10 ;
const integer FIELD_HOUR_OF_DAY = 11 ;
const integer FIELD_MINUTE = 12 ;
const integer FIELD_SECOND = 13 ;
const integer FIELD_MILLISECOND = 14 ;
const integer FIELD_ZONE_OFFSET = 15 ;
const integer FIELD_DST_OFFSET = 16 ;
const integer FIELD_YEAR_WOY = 17 ;
const integer FIELD_DOW_LOCAL = 18 ;
const integer FIELD_EXTENDED_YEAR = 19 ;
const integer FIELD_JULIAN_DAY = 20 ;
const integer FIELD_MILLISECONDS_IN_DAY = 21 ;
const integer FIELD_IS_LEAP_MONTH = 22 ;
const integer FIELD_FIELD_COUNT = 23 ;
const integer FIELD_DAY_OF_MONTH = 5 ;
const integer DOW_SUNDAY = 1 ;
const integer DOW_MONDAY = 2 ;
const integer DOW_TUESDAY = 3 ;
const integer DOW_WEDNESDAY = 4 ;
const integer DOW_THURSDAY = 5 ;
const integer DOW_FRIDAY = 6 ;
const integer DOW_SATURDAY = 7 ;
const integer DOW_TYPE_WEEKDAY = 0 ;
const integer DOW_TYPE_WEEKEND = 1 ;
const integer DOW_TYPE_WEEKEND_OFFSET = 2 ;
const integer DOW_TYPE_WEEKEND_CEASE = 3 ;
const integer WALLTIME_FIRST = 1 ;
const integer WALLTIME_LAST = 0 ;
const integer WALLTIME_NEXT_VALID = 2 ;
/* Методы */
public add ( int $field , int $amount ) : bool
intlcal_add ( IntlCalendar $cal , int $field , int $amount ) : bool
public after ( IntlCalendar $other ) : bool
intlcal_after ( IntlCalendar $cal , IntlCalendar $other ) : bool
public before ( IntlCalendar $other ) : bool
intlcal_before ( IntlCalendar $cal , IntlCalendar $other ) : bool
public clear ([ int $field = NULL ] ) : bool
intlcal_clear ( IntlCalendar $cal [, int $field = NULL ] ) : bool
private __construct ( void )
public static createInstance ([ mixed $timeZone = NULL [, string $locale = "" ]] ) : IntlCalendar
intlcal_create_instance ([ mixed $timeZone = NULL [, string $locale = "" ]] ) : IntlCalendar
public equals ( IntlCalendar $other ) : bool
intlcal_equals ( IntlCalendar $cal , IntlCalendar $other ) : bool
public fieldDifference ( float $when , int $field ) : int
intlcal_field_difference ( IntlCalendar $cal , float $when , int $field ) : int
public static fromDateTime ( mixed $dateTime ) : IntlCalendar
intlcal_from_date_time ( mixed $dateTime ) : IntlCalendar
public get ( int $field ) : int
intlcal_get ( IntlCalendar $cal , int $field ) : int
public getActualMaximum ( int $field ) : int
intlcal_get_actual_maximum ( IntlCalendar $cal , int $field ) : int
public getActualMinimum ( int $field ) : int
intlcal_get_actual_minimum ( IntlCalendar $cal , int $field ) : int
public static getAvailableLocales ( void ) : array
intlcal_get_available_locales ( void ) : array
public getDayOfWeekType ( int $dayOfWeek ) : int
intlcal_get_day_of_week_type ( IntlCalendar $cal , int $dayOfWeek ) : int
public getErrorCode ( void ) : int
public getErrorMessage ( void ) : string
public getFirstDayOfWeek ( void ) : int
intlcal_get_first_day_of_week ( IntlCalendar $cal ) : int
public getGreatestMinimum ( int $field ) : int
intlcal_get_greatest_minimum ( IntlCalendar $cal , int $field ) : int
public static getKeywordValuesForLocale ( string $key , string $locale , bool $commonlyUsed ) : Iterator
intlcal_get_keyword_values_for_locale ( string $key , string $locale , bool $commonlyUsed ) : Iterator
public getLeastMaximum ( int $field ) : int
intlcal_get_least_maximum ( IntlCalendar $cal , int $field ) : int
public getLocale ( int $localeType ) : string
intlcal_get_locale ( IntlCalendar $cal , int $localeType ) : string
public getMaximum ( int $field ) : int
intlcal_get_maximum ( IntlCalendar $cal , int $field ) : int
public getMinimalDaysInFirstWeek ( void ) : int
intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal ) : int
public getMinimum ( int $field ) : int
intlcal_get_minimum ( IntlCalendar $cal , int $field ) : int
public static getNow ( void ) : float
intlcal_get_now ( void ) : float
public getRepeatedWallTimeOption ( void ) : int
intlcal_get_repeated_wall_time_option ( IntlCalendar $cal ) : int
public getSkippedWallTimeOption ( void ) : int
intlcal_get_skipped_wall_time_option ( IntlCalendar $cal ) : int
public getTime ( void ) : float
intlcal_get_time ( IntlCalendar $cal ) : float
public getTimeZone ( void ) : IntlTimeZone
intlcal_get_time_zone ( IntlCalendar $cal ) : IntlTimeZone
public getType ( void ) : string
intlcal_get_type ( IntlCalendar $cal ) : string
public getWeekendTransition ( string $dayOfWeek ) : int
intlcal_get_weekend_transition ( IntlCalendar $cal , string $dayOfWeek ) : int
public inDaylightTime ( void ) : bool
intlcal_in_daylight_time ( IntlCalendar $cal ) : bool
public isEquivalentTo ( IntlCalendar $other ) : bool
intlcal_is_equivalent_to ( IntlCalendar $cal , IntlCalendar $other ) : bool
public isLenient ( void ) : bool
intlcal_is_lenient ( IntlCalendar $cal ) : bool
public isSet ( int $field ) : bool
intlcal_is_set ( IntlCalendar $cal , int $field ) : bool
public isWeekend ([ float $date = NULL ] ) : bool
intlcal_is_weekend ( IntlCalendar $cal [, float $date = NULL ] ) : bool
public roll ( int $field , mixed $amountOrUpOrDown ) : bool
intlcal_roll ( IntlCalendar $cal , int $field , mixed $amountOrUpOrDown ) : bool
public set ( int $field , int $value ) : bool
public set ( int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] ) : bool
intlcal_set ( IntlCalendar $cal , int $field , int $value ) : bool
intlcal_set ( IntlCalendar $cal , int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] ) : bool
public setFirstDayOfWeek ( int $dayOfWeek ) : bool
intlcal_set_first_day_of_week ( IntlCalendar $cal , int $dayOfWeek ) : bool
public setLenient ( bool $isLenient ) : bool
intlcal_set_lenient ( IntlCalendar $cal , bool $isLenient ) : bool
public setMinimalDaysInFirstWeek ( int $minimalDays ) : bool
intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal , int $minimalDays ) : bool
public setRepeatedWallTimeOption ( int $wallTimeOption ) : bool
intlcal_set_repeated_wall_time_option ( IntlCalendar $cal , int $wallTimeOption ) : bool
public setSkippedWallTimeOption ( int $wallTimeOption ) : bool
intlcal_set_skipped_wall_time_option ( IntlCalendar $cal , int $wallTimeOption ) : bool
public setTime ( float $date ) : bool
intlcal_set_time ( IntlCalendar $cal , float $date ) : bool
public setTimeZone ( mixed $timeZone ) : bool
intlcal_set_time_zone ( IntlCalendar $cal , mixed $timeZone ) : bool
public toDateTime ( void ) : DateTime
intlcal_to_date_time ( IntlCalendar $cal ) : DateTime
}

Предопределенные константы

IntlCalendar::FIELD_ERA

Поле календаря численно представляет эпоху, например 1 для "от рождества Христова" и 0 для "до рождества Христова" в Грирогианском и Юлианском календарях и 235 для периода Хэйсэй (平成) в Японском календаре. Не все календари имеют больше одной эпохи.

IntlCalendar::FIELD_YEAR

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

IntlCalendar::FIELD_MONTH

Поле календаря для месяца. Последовательность месяцев начинается с нуля, следовательно Janurary (Январь) (здесь используется для обозначения первого месяца года, но по факту может быть совсем другое имя, например Muharram для Исламского календаря) будет представлен числом 0, February (Февраль) числом 1, …, December (Декабрь) числом 11 и, для некоторых календарей, 13й или високосный месяц, значение будет равно 12.

IntlCalendar::FIELD_WEEK_OF_YEAR

Поле календаря для номера недели в году. Зависит от того, с какого дня начинается неделя и минимального количества дней в неделе.

IntlCalendar::FIELD_WEEK_OF_MONTH

Поле календаря для номера недели в месяце. Зависит от того, с какого дня начинается неделя и минимального количества дней в неделе.

IntlCalendar::FIELD_DATE

Поле календаря для номера дня в месяце. То же самое, что и IntlCalendar::FIELD_DAY_OF_MONTH.

IntlCalendar::FIELD_DAY_OF_YEAR

Поле календаря для номера дня в году. Для Грегорианского календаря находится в диапазоне от 1 до 365 или 366.

IntlCalendar::FIELD_DAY_OF_WEEK

Поле календаря для номера дня в неделе. Начинается с 1 (Воскресенье, смотри IntlCalendar::DOW_SUNDAY и связанные константы) и заканчивается 7 (Суббота).

IntlCalendar::FIELD_DAY_OF_WEEK_IN_MONTH

Номер дня недели (Воскресенье, Понедельник, …) в месяце. Допустим это значение равно 1, а значение дня недели равно 2 (Понедельник), следовательно это первый понедельник месяца. Максимальное значение равно 5.

Также допустимы значения 0 и ниже (отрицательные). Значение 0 охватывает 7 дней непосредственно перед началом месяца (первый подходящий день в месяце имеет значение 1). Отрицательные значения отсчитываются от конца месяца. Так, значение -1 указывает на последний подходящий день месяца, -2 на второй с конца и т.д.

В отличие от IntlCalendar::FIELD_WEEK_OF_MONTH и IntlCalendar::FIELD_WEEK_OF_YEAR, это значение не зависит от IntlCalendar::getFirstDayOfWeek() и IntlCalendar::getMinimalDaysInFirstWeek(). Первая среда - это первая среда, даже если неделя началась в предыдущем месяце.

IntlCalendar::FIELD_AM_PM

Поле календаря определяющее время до/после полудня. Соответственно 0 - до полудня, (1) - после. Полночь считается как "до полудня", полдень как "после полудня".

IntlCalendar::FIELD_HOUR

Поле календаря для часов, без указания до или после полудня. Допустимы значения в интервале от 0 до 11.

IntlCalendar::FIELD_HOUR_OF_DAY

Поле календаня для полных (24-часовой формат) часов. Допустимы значения от 0 до 23.

IntlCalendar::FIELD_MINUTE

Поле календаря для минут.

IntlCalendar::FIELD_SECOND

Поле календаря для секунд.

IntlCalendar::FIELD_MILLISECOND

Поле календаря для миллисекунд.

IntlCalendar::FIELD_ZONE_OFFSET

Поле календаря для "сырого" смещения временной зона, в миллисекундах. "Сырое" смещение не учитывает переходы на летнее/зимнее время.

IntlCalendar::FIELD_DST_OFFSET

Поле календаря для смещения временной зоны в миллисекундах в зависимости от летнего/зимнего времени, если применимо к данной временной зоне.

IntlCalendar::FIELD_YEAR_WOY

Поле календаря представляющее год для недели года.

IntlCalendar::FIELD_DOW_LOCAL

Поле календаря для локализованного дня недели. Принимает значения в диапазоне от 1 до 7. 1 используется для дня недели соответствующего значению возвращаемому функцией IntlCalendar::getFirstDayOfWeek().

IntlCalendar::FIELD_EXTENDED_YEAR

Поле календаря для представления номера года в контексте обеспечения непрерывности между эпохами. Например, для Грегорианского календаря, это значение для эпохи "после рождества Христова" будет соответствовать IntlCalendar::FIELD_YEAR, а для эпохи "до рождества Христова", год y будет представлен как -y + 1.

IntlCalendar::FIELD_JULIAN_DAY

Поле календаря для модифицированых номеров дней Юлианского календаря. В отличие от стандартного Юлианского календаря, в нем переход происходит в полночь по локальному времени, а не в полдень по UTC. Он однозначно идентифицирует дату.

IntlCalendar::FIELD_MILLISECONDS_IN_DAY

Поле календаря, охватывающее IntlCalendar::FIELD_HOUR_OF_DAY, IntlCalendar::FIELD_MINUTE, IntlCalendar::FIELD_SECOND и IntlCalendar::FIELD_MILLISECOND. Находится в диапазоне от 0 до 24 * 3600 * 1000 - 1. Это не количество миллисекунд, прошедшее с полуночи, так как в моменты перехода на летнее/зимнее время будет иметь разрывы.

IntlCalendar::FIELD_IS_LEAP_MONTH

Поле календаря принимающее значение 1 для високосного месяца и 0 для обычного.

IntlCalendar::FIELD_FIELD_COUNT

Общее количество полей.

IntlCalendar::FIELD_DAY_OF_MONTH

Псевдоним для IntlCalendar::FIELD_DATE.

IntlCalendar::DOW_SUNDAY

Воскресенье.

IntlCalendar::DOW_MONDAY

Понедельник.

IntlCalendar::DOW_TUESDAY

Вторник.

IntlCalendar::DOW_WEDNESDAY

Среда.

IntlCalendar::DOW_THURSDAY

Четверг.

IntlCalendar::DOW_FRIDAY

Пятница.

IntlCalendar::DOW_SATURDAY

Суббота.

IntlCalendar::DOW_TYPE_WEEKDAY

Вывод IntlCalendar::getDayOfWeekType() означает, что день будний.

IntlCalendar::DOW_TYPE_WEEKEND

Вывод IntlCalendar::getDayOfWeekType() означает, что день выходной.

IntlCalendar::DOW_TYPE_WEEKEND_OFFSET

Вывод IntlCalendar::getDayOfWeekType() означает, что выходные начинаются в этот день.

IntlCalendar::DOW_TYPE_WEEKEND_CEASE

Вывод IntlCalendar::getDayOfWeekType() означает, что выходные заканчиваются в этот день.

IntlCalendar::WALLTIME_FIRST

Вывод IntlCalendar::getSkippedWallTimeOption() означает, что время в пропущеном диапазоне должно ссылаться на момент времени меньший на один час и вывод IntlCalendar::getRepeatedWallTimeOption() означает, что время в повторяемом диапазоне должно относиться к моменту первого появления такого времени.

IntlCalendar::WALLTIME_LAST

Вывод IntlCalendar::getSkippedWallTimeOption() означает, что время в пропущеном диапазоне должно ссылаться на момент времени больший на один час и вывод IntlCalendar::getRepeatedWallTimeOption() означает, что время в повторяемом диапазоне должно относиться к моменту второго появления такого времени.

IntlCalendar::WALLTIME_NEXT_VALID

Вывод IntlCalendar::getSkippedWallTimeOption() означает, что время в пропущеном диапазоне относится к моменту, когда случился переход на зимнее/летнее время.

Содержание