为了账号安全,请及时绑定邮箱和手机立即绑定

PHP strtotime 不包括元旦...如何包括假期?

PHP strtotime 不包括元旦...如何包括假期?

PHP
森林海 2023-12-15 15:32:41
看起来 PHP 的 strtotime 函数从其结果中排除了新年。有没有办法强制 strtotime 包含它?其他假期如劳动节似乎没有这个问题(见下面的第3个代码示例)。谢谢!// 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贡献1842条经验 获得超12个赞

您应该使用"First Wednesday of 2020-01"(注意of)。

根据文档:

当当前星期几是同一天时,请遵守以下说明 作为日期/时间字符串中使用的星期几:

[...]

“序号日期名称” 确实提前到另一天。 (例如“2008 年 7 月 23 日第一个星期三”表示“2008-07-30”)。

[...]

“序号日期名称” ” 不会提前到另一天。 (例如:“2008 年 7 月第一个星期二”表示“2008-07-01”)。


查看完整回答
反对 回复 2023-12-15
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

你可以试试这个。

echo date("D Y-m-d", strtotime("First Wednesday of January 2020"));
// Wed 2020-01-01


查看完整回答
反对 回复 2023-12-15
  • 2 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信