看起來 PHP 的 strtotime 函數(shù)從其結(jié)果中排除了新年。有沒有辦法強(qiáng)制 strtotime 包含它?其他假期如勞動節(jié)似乎沒有這個(gè)問題(見下面的第3個(gè)代碼示例)。謝謝!// The 1st Wed in Jan 2020 falls on New Year's Day// But we get: "Wed 2020-01-08" (INCORRECT... it should return "Wed 2020-01-01")echo date("D Y-m-d", strtotime("First Wednesday " . "2020-01"));// However, asking for the 1st Thu in Jan 2020 returns the correct result: "Thu 2020-01-02"echo date("D Y-m-d", strtotime("First Thursday " . "2020-01"));// Even asking for the 1st Mon in Sep 2020, which is Labor Day returns the correct result: "Mon 2020-09-07"echo date("D Y-m-d", strtotime("First Monday " . "2020-09"));
2 回答

紅顏莎娜
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
您應(yīng)該使用"First Wednesday of 2020-01"
(注意of
)。
根據(jù)文檔:
當(dāng)當(dāng)前星期幾是同一天時(shí),請遵守以下說明 作為日期/時(shí)間字符串中使用的星期幾:
[...]
“序號日期名稱”?確實(shí)提前到另一天。 (例如“2008 年 7 月 23 日第一個(gè)星期三”表示“2008-07-30”)。
[...]
“序號日期名稱” ”?不會提前到另一天。 (例如:“2008 年 7 月第一個(gè)星期二”表示“2008-07-01”)。

揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
你可以試試這個(gè)。
echo date("D Y-m-d", strtotime("First Wednesday of January 2020")); // Wed 2020-01-01
- 2 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報(bào)
0/150
提交
取消