PHP 函数 strtotime 在使用 'First Saturday' 时给出了错误的值

PHP function strtotime giving wrong value when using 'First Saturday'

在英国,这一天目前是 2015 年 1 月 27 日。

我想找到这个月的第一个星期六并使用以下代码,但它没有给我预期的 2015 年 1 月 3 日,而是显示 2015 年 1 月 31 日?我做错了什么或者 strtotime 中有错误吗?我的 PHP 版本是 5.4.16

$time = strtotime('First Saturday');
$month1 = date("Y-m-d", $time);
echo $month1;

以上输出 2015-01-31 而不是预期的 2015-01-03

尝试为预期传递月份和年份(或任何日期)

$time = strtotime('January 2015 First Saturday');
$month1 = date("Y-m-d", $time);
echo $month1; //2015-01-03

因为"first saturday"是从给定的日期开始计算的。如果给定日期已经是星期六,则计算下一个。所以你没有给出任何日期然后它从下周六开始计算,所以尝试传递一个日期

$time = strtotime('First Saturday of this month');
$month1 = date("Y-m-d", $time);
echo $month1; //2015-01-03