(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設定特定欄位為指定值,或一次設定多個常用欄位。可接受的值的範圍取決於日曆是否使用寬鬆模式。
對於衝突的欄位,後設定的欄位具有優先權。
此方法不能使用四個參數調用。
cal
一個 IntlCalendar 實例。
field
IntlCalendar 日期/時間 欄位常數 之一。這些是介於 0
和 IntlCalendar::FIELD_COUNT
之間的整數值。
value
指定欄位的新值。
year
month
IntlCalendar::FIELD_MONTH
的新值。月份序列是從零開始的,例如,一月由 0 表示,二月由 1 表示,依此類推,十二月是 11,閏十二月(如果日曆有的話)是 12。
dayOfMonth
hour
minute
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');
//之後的呼叫具有優先權
$cal = new IntlGregorianCalendar(2013, 6 /* 七月 */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));
$cal = new IntlGregorianCalendar(2013, 6 /* 七月 */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
//時間尚未重新計算。如果我們清除延伸年份,
//將使用先前設定的年份
$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"