IntlCalendar::createInstance

新しい IntlCalendar を作成する

説明

オブジェクト指向型

public static IntlCalendarnull IntlCalendar::createInstance(IntlTimeZoneDateTimeZonestringnull $timezone = null, stringnull $locale = null)

手続き型

IntlCalendarnull intlcal_create_instance(IntlTimeZoneDateTimeZonestringnull $timezone = null, stringnull $locale = null)

指定されたタイムゾーンとロケールを使い、 IntlCalendar を作成します。 このファクトリメソッドは IntlCalendar のサブクラスを返す可能性があります。

作成されたカレンダーオブジェクトは、 システムの時刻を基準とした、作成時点の時刻を表すインスタンスです。 フィールドは IntCalendar::clear を引数なしでコールすることですべてクリアできます。 IntlGregorianCalendar::__construct も参照ください。

パラメータ

timezone

使用するタイムゾーン。

  • null。この場合はデフォルトのタイムゾーンを使います。デフォルトは、ini 項目 date.timezone で設定したものか、 date_default_timezone_set 関数で指定したもの (そして date_default_timezone_get が返すもの) になります。

  • IntlTimeZone。これを直接使います。

  • DateTimeZone。その識別子を取り出して、ICU タイムゾーンオブジェクトを作ります。 つまり、これは ICU のデータベースに基づくタイムゾーンとなり、PHP のタイムゾーンデータベースに基づくものではありません。

  • 文字列。ICU タイムゾーン識別子として有効なものを指定します。 IntlTimeZone::createTimeZoneIDEnumeration を参照ください。 "GMT+08:30" などのオフセットも指定できます。

locale

使用するロケール。 null の場合は、 デフォルトのロケール を使います。

戻り値

IntlCalendar のインスタンスを返します。 失敗時に null を返します。

例1 IntlCalendar::createInstance

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'Europe/Madrid');

$cal = IntlCalendar::createInstance();
echo "No arguments\n";
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit timezone\n";
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT());
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit locale (with calendar)\n";
$cal = IntlCalendar::createInstance(NULL, 'es_ES@calendar=persian');
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));

上の例の出力は以下となります。

No arguments
string(21) "IntlGregorianCalendar"
string(68) "martes 18 de junio de 2013 14:11:02 Hora de verano de Europa Central"

Explicit timezone
string(21) "IntlGregorianCalendar"
string(45) "martes 18 de junio de 2013 12:11:02 GMT+00:00"

Explicit locale (with calendar)
string(12) "IntlCalendar"
string(70) "martes 28 de Khordad de 1392 14:11:02 Hora de verano de Europa Central"

参考

  • IntlGregorianCalendar::__construct