Php strotime()第一个和最后一个的古怪

Php strotime()第一个和最后一个的古怪,php,strtotime,Php,Strtotime,这将打印出2010年11月7日(星期日) $day = date('l', strtotime('07/25/2010')); echo "$day "; echo date("m/d/Y", strtotime("first $day")); 这将打印出2010年4月7日(星期日) $day = date('l', strtotime('07/25/2010')); echo "$day "; echo date("m/d/Y", strtotime("first $day")); 这是怎

这将打印出2010年11月7日(星期日)

$day = date('l', strtotime('07/25/2010'));
echo "$day ";
echo date("m/d/Y", strtotime("first $day"));
这将打印出2010年4月7日(星期日)

$day = date('l', strtotime('07/25/2010'));
echo "$day ";
echo date("m/d/Y", strtotime("first $day"));

这是怎么回事?不应该分别是2010年4月7日和2010年4月25日吗?

我可以对
最后一段说几句话,内容如下:

“'last'dayname”从当前日期中获取last dayname。(例如:“2008年7月最后一个星期三”表示“2008-06-25”;“2008年7月”首先将当前日期设置为“2008-07-01”,然后“最后一个星期三”移动到上一个星期三,即“2008-06-25”)


我想这与第一个类似,它会给你下一个
日期名

我认为答案是正确的,因为它们是相对于给定日期的(不给定日期时默认为今天)

基于PHP文档:

该函数期望得到一个 包含美式英语日期的字符串 格式,并将尝试解析该格式 格式化为Unix时间戳( 自1970年1月1日以来的秒数 00:00:00 UTC),相对于 以now或current形式给出的时间戳 如果现在不提供时间


所以第一个星期天实际上是第11个星期天,最后一个星期天实际上是第4个星期天。根据你问题的措辞,你似乎在寻找本月的第一个星期日和本月的最后一个星期日。此函数返回今天之后的第一个星期日,以及今天之前的最后一个星期日。

我相信您是正确的,当我更改日期2010年1月7日时,我得到了我要查找的内容。