jddayofweek

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

jddayofweek返回星期几

描述

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

返回星期几。根据模式返回字符串或整数。

参数

julian_day

儒略日编号,以整数形式表示

mode
日历星期模式
模式 含义
0(默认) 以 int 形式返回星期几编号(0=星期日,1=星期一,依此类推)
1 返回包含星期几的字符串(英语-公历)
2 返回包含星期几缩写的字符串(英语-公历)

返回值

公历星期几,以整数或字符串形式表示。

添加备注

用户贡献的备注 2 个备注

kevind at communitycolor dot com
7 年前
您需要检查您的客户端如何表示星期几。此函数返回 0 表示星期日。ISO 8601 使用 7 表示星期日。

顺便说一下,您也可以使用模除法计算星期几

$dow = (1 + $julianday) % 7; // 返回 0 表示星期日。
$dow = ($julianday % 7) + 1; // 返回 7 表示星期日。

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

为了使事情更混乱。儒略日从 UTC 中午开始。一些程序(如 SQLITE3)使用实数来记录日期和时间。如果您将此函数传递一个浮点数;它将为上午返回不同的星期几,为下午返回不同的星期几。

当给定带有小数部分的儒略日时,您将需要添加半天,并且可能需要根据您的时区进行进一步调整。
phimuskapsi at gmail dot com
3 年前
使用模式 1 或 2 时,返回的数字将与模式 0 不匹配。

jddayofweek(0, 1) = 'Monday' 而不是像预期的那样 'Sunday'。

这会导致 UI 和保存的值之间不一致。
To Top