IntlCalendar::getDayOfWeekType

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)
Tell whether a day is a weekday, weekend or a day that has a transition between the two
public int IntlCalendar::getDayOfWeekType ( int $dayOfWeek )

Object oriented style

Procedural style

int intlcal_get_day_of_week_type ( IntlCalendar $cal , int $dayOfWeek )

Returns whether the passed day is a weekday (IntlCalendar::DOW_TYPE_WEEKDAY), a weekend day (IntlCalendar::DOW_TYPE_WEEKEND), a day during which a transition occurs into the weekend (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET) or a day during which the weekend ceases (IntlCalendar::DOW_TYPE_WEEKEND_CEASE).

If the return is either IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or IntlCalendar::DOW_TYPE_WEEKEND_CEASE, then IntlCalendar::getWeekendTransition() can be called to obtain the time of the transition.

This function requires ICU 4.4 or later.

Parameters:
cal

The IntlCalendar resource.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY, IntlCalendar::DOW_MONDAY, …, IntlCalendar::DOW_SATURDAY.

Returns:

Returns one of the constants IntlCalendar::DOW_TYPE_WEEKDAY, IntlCalendar::DOW_TYPE_WEEKEND, IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or IntlCalendar::DOW_TYPE_WEEKEND_CEASE or FALSE on failure.

Examples:
IntlCalendar::getDayOfWeekType()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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++) {
        echo $i" "$cal->getDayOfWeekType($i), " ",
                $cal->getDayOfWeekType($i) >= IntlCalendar::DOW_TYPE_WEEKEND_OFFSET
                        $cal->getWeekendTransition($i)
                        '',
                "\n";
    }
    echo "\n";
}

The above example will output:

Locale: English (United States)
1 3 86400000
2 0 
3 0 
4 0 
5 0 
6 0 
7 1 

Locale: Arabic (Saudi Arabia)
1 0 
2 0 
3 0 
4 0 
5 1 
6 3 86400000
7 0 

doc_php
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.