您需要检查您的客户端如何表示星期几。此函数返回 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)使用实数来记录日期和时间。如果您将此函数传递一个浮点数;它将为上午返回不同的星期几,为下午返回不同的星期几。
当给定带有小数部分的儒略日时,您将需要添加半天,并且可能需要根据您的时区进行进一步调整。