JDDayOfWeek
(PHP 4, PHP 5)
JDDayOfWeek — Возвращает день недели
Описание
Возвращает день недели. Может возвращать строку или число в зависимости от режима работы.
Список параметров
-
julianday
-
День в виде числа в Юлианском летоисчислении
-
mode
-
Режимы отображения дней недели Режим Значение 0 (По умолчанию) День недели возвращается в виде числа (0=Воскресенье, 1=Понедельник и т.д.) 1 Возвращается строка содержащая день недели (Английский-Григорианский) 2 Возвращается строка содержащая аббревиатуру дня недели (Английскую-Григорианскую)
Возвращаемые значения
День недели по григорианскому календарю в виде строки или числа.
Коментарии
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.
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.