(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::getDayOfWeekType — 判斷一天是平日、週末,還是介於兩者之間的過渡日
物件導向風格
程序風格
傳回指定日期是平日 (IntlCalendar::DOW_TYPE_WEEKDAY
)、週末 (IntlCalendar::DOW_TYPE_WEEKEND
)、週末開始的過渡日 (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET
) 或是週末結束的過渡日 (IntlCalendar::DOW_TYPE_WEEKEND_CEASE
)。
如果傳回值是 IntlCalendar::DOW_TYPE_WEEKEND_OFFSET
或 IntlCalendar::DOW_TYPE_WEEKEND_CEASE
,則可以呼叫 IntlCalendar::getWeekendTransition() 來取得過渡時間。
此函式需要 ICU 4.4 或更新版本。
calendar
一個 IntlCalendar 實體。
dayOfWeek
IntlCalendar::DOW_SUNDAY
、IntlCalendar::DOW_MONDAY
、…、IntlCalendar::DOW_SATURDAY
等常數其中之一。
傳回 IntlCalendar::DOW_TYPE_WEEKDAY
、IntlCalendar::DOW_TYPE_WEEKEND
、IntlCalendar::DOW_TYPE_WEEKEND_OFFSET
或 IntlCalendar::DOW_TYPE_WEEKEND_CEASE
等常數其中之一;失敗時傳回 false
。
範例 #1 IntlCalendar::getDayOfWeekType()
<?php
foreach (array('en_US', 'ar_SA') as $locale) {
echo "地區設定: ", Locale::getDisplayName($locale, "en_US"), "\n";
$cal = IntlCalendar::createInstance('UTC', $locale);
for ($i = IntlCalendar::DOW_SUNDAY; $i <= IntlCalendar::DOW_SATURDAY; $i++) {
$type = $cal->getDayOfWeekType($i);
$transition = ($type !== IntlCalendar::DOW_TYPE_WEEKDAY)
? $cal->getWeekendTransition($i)
: '';
echo $i, " ", $type, " ", $transition, "\n";
}
echo "\n";
}
?>
上述範例會輸出:
Locale: English (United States) 1 1 86400000 2 0 3 0 4 0 5 0 6 0 7 1 0 Locale: Arabic (Saudi Arabia) 1 0 2 0 3 0 4 0 5 0 6 1 0 7 1 86400000