PHP Conference Japan 2024

jddayofweek

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

jddayofweek傳回星期幾

說明

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

傳回星期幾。可以根據模式傳回字串或整數。

參數

julian_day

儒略日數字,整數格式

模式
星期模式
模式 說明
0 (預設) 以整數形式返回星期幾 (0=星期日, 1=星期一, 依此類推)
1 返回包含星期幾的字串 (英文-格里曆)
2 返回包含星期幾縮寫的字串 (英文-格里曆)

返回值

格里曆星期,以整數或字串形式返回。

新增註釋

使用者貢獻的註釋 2 則註釋

-1
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,使用實數來記錄日期和時間。如果您將浮點數傳遞給此函式;它會針對上午和下午返回不同的星期幾。

當給定帶有小數部分的儒略日時,您需要加上半天,並且可能需要根據您的時區進行進一步調整。
-3
phimuskapsi at gmail dot com
4 年前
使用模式 1 或 2 時,返回的數字與模式 0 不符。

jddayofweek(0, 1) = 'Monday' 並非預期的 'Sunday'。

這可能會導致使用者介面和儲存的值之間不一致。
To Top