在php strtotime中使用术语“昨天”

时间:2015-03-07 08:19:25

标签: php strtotime

我正在尝试使用php strtotime函数获取各种日期的时间戳但是遇到了问题。例如,试图在3月的第二个星期日之前(例如)获得日期和月份。

我已经进行了一些测试并获得了以下结果:

$day1 = date('j', strtotime('second sunday of march yesterday'));
$month1 = date('n', strtotime('second sunday of march yesterday'));

分别产生28和2,而不是7和3。

我已经移动了“昨天”这个词并获得以下内容:

$day1 = date('j', strtotime('yesterday second sunday of march'));
$month1 = date('n', strtotime('yesterday second sunday of march')); 

这确实产生了正确的结果,但是当我这样做时

$day1 = date('j', strtotime('first sunday of november yesterday'));
$month1 = date('n', strtotime('first sunday of november yesterday'));

在这种情况下,在字符串末尾使用“yesterday”,它会生成正确的日期,即31和10。即使“昨天”结束,它也会产生这种结果。

我错过了什么吗?为什么其中一个需要“昨天”才能在字符串的开头?

1 个答案:

答案 0 :(得分:2)

这不是yesterday - 这是+- 1 day。出于某种原因,-1 day不起作用。

我不能说昨天PHP正在做什么,但由于英文版没有意义,因此PHP对它的解释也没有意义也就不足为奇了。 ;)