PHP标准时间不包括新年';情人节。。。假期怎么算?
看起来PHP的strotime函数从结果中排除了新年。有没有办法强迫strotime包含它?其他假日,如劳动节,似乎没有这个问题(参见下面的第三个代码示例) 谢谢PHP标准时间不包括新年';情人节。。。假期怎么算?,php,date,datetime,strtotime,Php,Date,Datetime,Strtotime,看起来PHP的strotime函数从结果中排除了新年。有没有办法强迫strotime包含它?其他假日,如劳动节,似乎没有这个问题(参见下面的第三个代码示例) 谢谢 // 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("
// 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"));
您应该使用“2020-01年第一个星期三”
(注意的)
Per:
当一周中的当前日期相同时,请遵守以下备注
作为日期/时间字符串中使用的星期几:
[……]
“序号日名”确实会提前到另一天。(例如,“2008年7月23日第一个星期三”指“2008-07-30”)
[……]
“的序号dayname”不会提前到另一天。(例如:“2008年7月的第一个星期二”表示“2008-07-01”)
您应该使用“2020-01年第一个星期三”
(注意的)
Per:
当一周中的当前日期相同时,请遵守以下备注
作为日期/时间字符串中使用的星期几:
[……]
“序号日名”确实会提前到另一天。(例如,“2008年7月23日第一个星期三”指“2008-07-30”)
[……]
“的序号dayname”不会提前到另一天。(例如:“2008年7月的第一个星期二”表示“2008-07-01”)
你可以试试这个
echo date("D Y-m-d", strtotime("First Wednesday of January 2020"));
// Wed 2020-01-01
你可以试试这个
echo date("D Y-m-d", strtotime("First Wednesday of January 2020"));
// Wed 2020-01-01
谢谢我在文件中完全没有提到这一点。1月1日在不使用“of”的情况下得到特殊处理似乎仍然很奇怪,但我会接受它!再次感谢。@bjones1831这是因为今年(2020年)1月1日是星期三。基本上就像说“2020年1月1日后的第一个星期三”,而不是“2020年1月1日后的第一个星期三”。因此,只有当指定的一周中的某一天(左部分)与引用的某一天(右部分)完全相等时,它才会有所不同。明白了。我刚刚测试了五一假期(5月1日),它有相同的错误,没有“of”。。。。谢谢你的澄清!谢谢我在文件中完全没有提到这一点。1月1日在不使用“of”的情况下得到特殊处理似乎仍然很奇怪,但我会接受它!再次感谢。@bjones1831这是因为今年(2020年)1月1日是星期三。基本上就像说“2020年1月1日后的第一个星期三”,而不是“2020年1月1日后的第一个星期三”。因此,只有当指定的一周中的某一天(左部分)与引用的某一天(右部分)完全相等时,它才会有所不同。明白了。我刚刚测试了五一假期(5月1日),它有相同的错误,没有“of”。。。。谢谢你的澄清!