PHPKonf 2020 Online


(PHP 4, PHP 5, PHP 7)

jddayofweek Возвращает день недели


jddayofweek ( int $julian_day [, int $mode = CAL_DOW_DAYNO ] ) : int|string

Возвращает день недели. Может возвращать строку или число в зависимости от режима работы.

Список параметров


День в виде числа в юлианском летоисчислении

Режимы отображения дней недели
Режим Значение
0 (По умолчанию) День недели возвращается в виде числа (0=Воскресенье, 1=Понедельник и т.д.)
1 Возвращается строка, содержащая день недели (Английский-Григорианский)
2 Возвращается строка, содержащая аббревиатуру дня недели (Английскую-Григорианскую)

Возвращаемые значения

День недели по григорианскому календарю в виде строки или числа.

add a note add a note

User Contributed Notes 2 notes

phimuskapsi at gmail dot com
3 months ago
When using mode 1 or 2, the number returned will NOT match mode 0.

jddayofweek(0, 1) = 'Monday' not 'Sunday' as expected.

This can cause discordance between the UI and the value saved.
kevind at communitycolor dot com
3 years ago
You need to check to see how your client wants to represent the day of week. This function returns 0 for Sundays. ISO 8601 uses 7 for Sundays.

BTW, You can also calculate the day of week with modular division:

$dow = (1 + $julianday) % 7; // returns 0 for Sundays.
$dow = ($julianday % 7) + 1; // returns 7 for Sundays.

To make matters confusing. The Julian Date starts at noon UTC. Some programs such as SQLITE3 use real numbers to record date and time. If you pass this function a float; it will return a different day of week for the morning than for the afternoon.

When given a julianday with a decimal part you will need to add a half day and may need further adjustment for your timezone.
To Top