PHPのお勉強!

PHP TOP

IntlCalendar クラス

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

はじめに

クラス概要

class IntlCalendar {
/* 定数 */
public const int FIELD_ERA;
public const int FIELD_YEAR;
public const int FIELD_MONTH;
public const int FIELD_WEEK_OF_YEAR;
public const int FIELD_WEEK_OF_MONTH;
public const int FIELD_DATE;
public const int FIELD_DAY_OF_YEAR;
public const int FIELD_DAY_OF_WEEK;
public const int FIELD_AM_PM;
public const int FIELD_HOUR;
public const int FIELD_HOUR_OF_DAY;
public const int FIELD_MINUTE;
public const int FIELD_SECOND;
public const int FIELD_MILLISECOND;
public const int FIELD_ZONE_OFFSET;
public const int FIELD_DST_OFFSET;
public const int FIELD_YEAR_WOY;
public const int FIELD_DOW_LOCAL;
public const int FIELD_EXTENDED_YEAR;
public const int FIELD_JULIAN_DAY;
public const int FIELD_IS_LEAP_MONTH;
public const int FIELD_FIELD_COUNT;
public const int FIELD_DAY_OF_MONTH;
public const int DOW_SUNDAY;
public const int DOW_MONDAY;
public const int DOW_TUESDAY;
public const int DOW_WEDNESDAY;
public const int DOW_THURSDAY;
public const int DOW_FRIDAY;
public const int DOW_SATURDAY;
public const int DOW_TYPE_WEEKDAY;
public const int DOW_TYPE_WEEKEND;
public const int WALLTIME_FIRST;
public const int WALLTIME_LAST;
public const int WALLTIME_NEXT_VALID;
/* メソッド */
private __construct()
public add(int $field, int $value): bool
public after(IntlCalendar $other): bool
public before(IntlCalendar $other): bool
public clear(?int $field = null): true
public equals(IntlCalendar $other): bool
public fieldDifference(float $timestamp, int $field): int|false
public static fromDateTime(DateTime|string $datetime, ?string $locale = null): ?IntlCalendar
public get(int $field): int|false
public getActualMaximum(int $field): int|false
public getActualMinimum(int $field): int|false
public static getAvailableLocales(): array
public getDayOfWeekType(int $dayOfWeek): int|false
public static getKeywordValuesForLocale(string $keyword, string $locale, bool $onlyCommon): IntlIterator|false
public getLeastMaximum(int $field): int|false
public getLocale(int $type): string|false
public getMaximum(int $field): int|false
public getMinimum(int $field): int|false
public static getNow(): float
public getTime(): float|false
public getType(): string
public getWeekendTransition(int $dayOfWeek): int|false
public isLenient(): bool
public isSet(int $field): bool
public isWeekend(?float $timestamp = null): bool
public roll(int $field, int|bool $value): bool
public set(int $field, int $value): true
public set(
    int $year,
    int $month,
    int $dayOfMonth = NULL,
    int $hour = NULL,
    int $minute = NULL,
    int $second = NULL
): true
public setDate(int $year, int $month, int $dayOfMonth): void
public setDateTime(
    int $year,
    int $month,
    int $dayOfMonth,
    int $hour,
    int $minute,
    ?int $second = null
): void
public setFirstDayOfWeek(int $dayOfWeek): true
public setLenient(bool $lenient): true
public setTime(float $timestamp): bool
}

定義済み定数

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

カレンダーの、分を表すフィールド。