2024年PHP开发者大会日本站

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 (默认) 返回作为整数的星期几数字 (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

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

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

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

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