PHP Unconference Europe 2015

IntlCalendar クラス

(PHP 5.5.0, 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 bool add ( int $field , int $amount )
bool intlcal_add ( IntlCalendar $cal , int $field , int $amount )
public bool after ( IntlCalendar $other )
bool intlcal_after ( IntlCalendar $cal , IntlCalendar $other )
public bool before ( IntlCalendar $other )
bool intlcal_before ( IntlCalendar $cal , IntlCalendar $other )
public bool clear ([ int $field = NULL ] )
bool intlcal_clear ( IntlCalendar $cal [, int $field = NULL ] )
private __construct ( void )
public static IntlCalendar createInstance ([ mixed $timeZone = NULL [, string $locale = "" ]] )
IntlCalendar intlcal_create_instance ([ mixed $timeZone = NULL [, string $locale = "" ]] )
public bool equals ( IntlCalendar $other )
bool intlcal_equals ( IntlCalendar $cal , IntlCalendar $other )
public int fieldDifference ( float $when , int $field )
int intlcal_field_difference ( IntlCalendar $cal , float $when , int $field )
public static IntlCalendar fromDateTime ( mixed $dateTime )
IntlCalendar intlcal_from_date_time ( mixed $dateTime )
public int get ( int $field )
int intlcal_get ( IntlCalendar> $cal , int $field )
public int getActualMaximum ( int $field )
int intlcal_get_actual_maximum ( IntlCalendar $cal , int $field )
public int getActualMinimum ( int $field )
int intlcal_get_actual_minimum ( IntlCalendar $cal , int $field )
public static array getAvailableLocales ( void )
array intlcal_get_available_locales ( void )
public int getDayOfWeekType ( int $dayOfWeek )
int intlcal_get_day_of_week_type ( IntlCalendar $cal , int $dayOfWeek )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public int getFirstDayOfWeek ( void )
int intlcal_get_first_day_of_week ( IntlCalendar $cal )
public int getGreatestMinimum ( int $field )
int intlcal_get_greatest_minimum ( IntlCalendar $cal , int $field )
public static Iterator getKeywordValuesForLocale ( string $key , string $locale , boolean $commonlyUsed )
Iterator intlcal_get_keyword_values_for_locale ( string $key , string $locale , boolean $commonlyUsed )
public int getLeastMaximum ( int $field )
int intlcal_get_least_maximum ( IntlCalendar $cal , int $field )
public string getLocale ( int $localeType )
string intlcal_get_locale ( IntlCalendar $cal , int $localeType )
public int getMaximum ( int $field )
int intlcal_get_maximum ( IntlCalendar $cal , int $field )
public int getMinimalDaysInFirstWeek ( void )
int intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal )
public int getMinimum ( int $field )
int intlcal_get_minimum ( IntlCalendar $cal , int $field )
public static float getNow ( void )
float intlcal_get_now ( void )
public int getRepeatedWallTimeOption ( void )
int intlcal_get_repeated_wall_time_option ( IntlCalendar $cal )
public int getSkippedWallTimeOption ( void )
int intlcal_get_skipped_wall_time_option ( IntlCalendar $cal )
public float getTime ( void )
float intlcal_get_time ( IntlCalendar $cal )
public IntlTimeZone getTimeZone ( void )
IntlTimeZone intlcal_get_time_zone ( IntlCalendar $cal )
public string getType ( void )
string intlcal_get_type ( IntlCalendar $cal )
public int getWeekendTransition ( string $dayOfWeek )
int intlcal_get_weekend_transition ( IntlCalendar $cal , string $dayOfWeek )
public bool inDaylightTime ( void )
bool intlcal_in_daylight_time ( IntlCalendar $cal )
public bool isEquivalentTo ( IntlCalendar $other )
bool intlcal_is_equivalent_to ( IntlCalendar $cal , IntlCalendar $other )
public bool isLenient ( void )
bool intlcal_is_lenient ( IntlCalendar $cal )
public bool isSet ( int $field )
bool intlcal_is_set ( IntlCalendar $cal , int $field )
public bool isWeekend ([ float $date = NULL ] )
bool intlcal_is_weekend ( IntlCalendar $cal [, float $date = NULL ] )
public bool roll ( int $field , mixed $amountOrUpOrDown )
bool intlcal_roll ( IntlCalendar $cal , int $field , mixed $amountOrUpOrDown )
public bool set ( int $field , int $value )
public bool 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 ]]]] )
public bool setFirstDayOfWeek ( int $dayOfWeek )
bool intlcal_set_first_day_of_week ( IntlCalendar $cal , int $dayOfWeek )
public ReturnType setLenient ( string $isLenient )
ReturnType intlcal_set_lenient ( IntlCalendar $cal , string $isLenient )
public bool setMinimalDaysInFirstWeek ( int $minimalDays )
bool intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal , int $minimalDays )
public bool setRepeatedWallTimeOption ( int $wallTimeOption )
bool intlcal_set_repeated_wall_time_option ( IntlCalendar $cal , int $wallTimeOption )
public bool setSkippedWallTimeOption ( int $wallTimeOption )
bool intlcal_set_skipped_wall_time_option ( IntlCalendar $cal , int $wallTimeOption )
public bool setTime ( float $date )
bool intlcal_set_time ( IntlCalendar $cal , float $date )
public bool setTimeZone ( mixed $timeZone )
bool intlcal_set_time_zone ( IntlCalendar $cal , mixed $timeZone )
public DateTime toDateTime ( void )
DateTime intlcal_to_date_time ( IntlCalendar $cal )
}

定義済み定数

IntlCalendar::FIELD_ERA

カレンダーのフィールドで、時代を表す数値です。たとえば、グレゴリオ暦やユリウス暦の場合は 1 が紀元後そして 0 が紀元前を表します。 また、和暦の場合は 235 が平成を表します。 すべてのカレンダーが複数の時代を持つわけではありません。

IntlCalendar::FIELD_YEAR

カレンダーの、年を表すフィールド。時代が違えば同じ数字になることもあります。 そのカレンダー型が複数の時代を持っている場合は、このフィールドの最小値は通常は 1 になります。

IntlCalendar::FIELD_MONTH

カレンダーの、月を表すフィールド。月番号はゼロからはじまるので、1月が 0、2月が 1、…そして12月が 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 は、ある月の最初の (day of week in month の値が 1 となる) 七日間の直前の七日間を表します。 負の値を指定した場合は、月末から数えます。-1 は、その曜日が当月の最後に登場する日付、 -2 はさらにその一週間前といったようになります。

IntlCalendar::FIELD_WEEK_OF_MONTHIntlCalendar::FIELD_WEEK_OF_YEAR とは異なり、この値は IntlCalendar::getFirstDayOfWeek()IntlCalendar::getMinimalDaysInFirstWeek() に依存しません。 第一月曜日は第一月曜日であり、たとえ前月に属する日であってもそれは変わりません。

IntlCalendar::FIELD_AM_PM

カレンダーの、午前 (0) か午後 (1) かを表すフィールド。 深夜 0 時は午前、正午は午後となります。

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

カレンダーの、week of year 用の年を表すフィールド。

IntlCalendar::FIELD_DOW_LOCAL

カレンダーの、ローカライズした曜日を表すフィールド。 1 から 7 までの値となり、 1IntlCalendar::getFirstDayOfWeek() が返す値にマッチする曜日に使います。

IntlCalendar::FIELD_EXTENDED_YEAR

カレンダーの、年番号を表すフィールド。この番号は、時代をまたがって続きます。 グレゴリオ暦の場合、紀元後の年についてはこの値は IntlCalendar::FIELD_YEAR に一致します。 紀元前 y 年の場合は -y + 1 となります。

IntlCalendar::FIELD_JULIAN_DAY

カレンダーの、ユリウス日を表すフィールド。 一般的な慣習とは違って、このユリウス日は現地時間の深夜 0 時に加算されます。 UTC の正午ではありません。 これで、日付を一意に特定します。

IntlCalendar::FIELD_MILLISECONDS_IN_DAY

カレンダーの、 IntlCalendar::FIELD_HOUR_OF_DAYIntlCalendar::FIELD_MINUTEIntlCalendar::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() の出力。

目次

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top