略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: JDDayOfWeek

2024-05-06

JDDayOfWeek

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

JDDayOfWeek返回星期的日期

说明

jddayofweek(int $julianday, int $mode = CAL_DOW_DAYNO): mixed

返回星期的日期,根据模式不同可能是字符串或是整数。

参数

julianday

一个julian天数。

mode
历法星期模式
Mode Meaning
0 (默认) 返回数字形式(0=Sunday, 1=Monday, etc)
1 返回字符串形式 (English-Gregorian)
2 返回缩写形式的字符串 (English-Gregorian)

返回值

数字或字符串形式的星期数。

add a noteadd a note

User Contributed Notes 2 notes

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

官方地址:https://www.php.net/manual/en/function.jddayofweek.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3