(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::set — 時刻または複数の共通フィールドを一度に設定する
オブジェクト指向型
$year,$month,$dayOfMonth = NULL,$hour = NULL,$minute = NULL,$second = NULL手続き型
$cal,$year,$month,$dayOfMonth = NULL,$hour = NULL,$minute = NULL,$second = NULL特定のフィールドを指定された値に設定するか、 いくつかの共通のフィールドを一度に設定します。 受け入れ可能な値の範囲は、 カレンダーの 緩いモード が有効かどうかに依存します。
衝突したフィールドについては、 あとで設定されたフィールドの優先度が高くなります。
このメソッドは、引数を4つ指定してコールできません。
calIntlCalendar クラスのインスタンス。
field
 IntlCalendar の日付/時刻 フィールド定数 のいずれか。
 0 から
 IntlCalendar::FIELD_COUNT までの間の整数値です。
value指定されたフィールドに設定する新しい値。
year
      IntlCalendar::FIELD_YEAR
      に設定する新しい値。
     
month
      IntlCalendar::FIELD_MONTH
      に設定する新しい値。
      月の値は0から始まります。
      つまり、1月は0として表され、2月は1、... 12月は11になります。
      そして、Undecember(カレンダーそのもの) の場合は、12 になります。
     
dayOfMonth
      IntlCalendar::FIELD_DAY_OF_MONTH
      に設定する新しい値。
     
hour
      IntlCalendar::FIELD_HOUR_OF_DAY
      に設定する新しい値。
     
minute
      IntlCalendar::FIELD_MINUTE
      に設定する新しい値。
      
second
      IntlCalendar::FIELD_SECOND
      に設定する新しい値。
     
   常に true を返します。
  
| バージョン | 説明 | 
|---|---|
| 8.2.0 | 戻り値の型が、 trueになりました。これより前のバージョンでは、bool でした。 | 
| 8.4.0 | このメソッドは非推奨となりました。 代わりに IntlCalendar::setDate() や IntlCalendar::setDateTime() を使用してください。 | 
例1 IntlCalendar::set()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
//Calls made later have priority
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
//the time has not been recalculated yet. If we clear the extended year,
//the year set before will be used
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));上の例の出力は以下となります。
string(20) "01/07/2011, 00:00:00" string(20) "01/07/2012, 00:00:00"
