(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: ", 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