PHP Conference Nagoya 2025

jddayofweek

(PHP 4, PHP 5, PHP 7, PHP 8)

jddayofweekRetorna o dia da semana de um dia Juliano

Descrição

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

Retorna o dia da semana de um dia Juliano. Pode retornar uma string ou um inteiro dependendo do modo.

Parâmetros

julian_day

Um número inteiro do dia Juliano

mode
Modos de semana do calendário
Modo Significado
0 (Padrão) Retorna o número do dia como um int (0=domingo, 1=segunda, etc)
1 Retorna uma string contendo o dia de semana (Inglês-Gregoriano)
2 Retorna uma string contendo o dia da semana abreviado (Inglês-Gregoriano)

Valor Retornado

O dia da semana gregoriano como um inteiro ou uma string.

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
-1
kevind at communitycolor dot com
7 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.

https://en.wikipedia.org/wiki/Julian_day#Finding_day_of_week_given_Julian_day_number

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.
up
-3
phimuskapsi at gmail dot com
4 years 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.
To Top