php strtotime“2012年4月的最后一个星期五”上周五没有回来

时间:2012-02-12 04:02:28

标签: php strtotime

当我运行以下代码时,我得到了4月30日而不是27日。

strtotime("Last Friday April 2012");

我尝试将其作为星期四运行,而我又回到了第29位。

以下所有工作都很好。

strtotime("First Sunday February 2012");
strtotime("Third Monday February 2012");
strtotime("Second Monday October 2012");
strtotime("Fourth Thursday November 2012");

有什么想法吗?

2 个答案:

答案 0 :(得分:9)

我相信你回到3月30日,而不是4月,对吗?

Last Friday April 2012执行以下操作:

  • April 2012将日期设为2012-04-01
  • Last Friday将日期记录到上一个(最后一个)星期五,即2012-03-30

如果你想要四月的最后一个星期五,请改用Last Friday May 2012

请参阅PHP手册中的Date/Time - Relative Formats

答案 1 :(得分:4)

您也可以使用:

strtotime("last friday of April 2012");

echo date( 'F jS, Y h:i:s A', strtotime("last friday of April 2012"));

这将输出所需的日期:

April 27th, 2012 12:00:00 AM