2024 年日本 PHP 研討會

IntlCalendar::getDayOfWeekType

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getDayOfWeekType判斷一天是平日、週末,還是介於兩者之間的過渡日

說明

物件導向風格

public IntlCalendar::getDayOfWeekType(int $dayOfWeek): int|false

程序風格

intlcal_get_day_of_week_type(IntlCalendar $calendar, int $dayOfWeek): int|false

傳回指定日期是平日 (IntlCalendar::DOW_TYPE_WEEKDAY)、週末 (IntlCalendar::DOW_TYPE_WEEKEND)、週末開始的過渡日 (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET) 或是週末結束的過渡日 (IntlCalendar::DOW_TYPE_WEEKEND_CEASE)。

如果傳回值是 IntlCalendar::DOW_TYPE_WEEKEND_OFFSETIntlCalendar::DOW_TYPE_WEEKEND_CEASE,則可以呼叫 IntlCalendar::getWeekendTransition() 來取得過渡時間。

此函式需要 ICU 4.4 或更新版本。

參數

calendar

一個 IntlCalendar 實體。

dayOfWeek

IntlCalendar::DOW_SUNDAYIntlCalendar::DOW_MONDAY、…、IntlCalendar::DOW_SATURDAY 等常數其中之一。

範例

範例 #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

新增筆記

使用者貢獻的筆記

此頁面沒有使用者貢獻的筆記。
To Top