PHP和Carbon:如何获得不同年份的相对时间

时间:2018-08-16 05:39:40

标签: php php-carbon

我可以使用new \Carbon\Carbon('last sun of September')来获取今年9月的最后一个星期日。但是,如果我要去年9月的最后一个星期日怎么办?

我尝试了这两种方法:

new \Carbon\Carbon('last sun of September last year')
new \Carbon\Carbon('last year last sun of September')

两者都给出了本年度最后一个星期日的DD / MM,并将YYYY更改为去年。

1 个答案:

答案 0 :(得分:1)

这似乎只有两个步骤。这些都对我有用:

$lastYear = (new \DateTime('last year'))->format('Y');
$dt = new \DateTime('last sun of September ' . $lastYear);

$dt2 = new \DateTime('last year');
$dt2->modify('last sun of September');

var_dump($dt); // 2017-09-24 00:00:00.000000
var_dump($dt2); // 2017-09-24 00:00:00.000000

我个人认为第二种方法更清洁。

我用DateTime进行了测试,因为Carbon只是它的扩展,并且内部使用了PHP DateTime解析器。另请参见http://php.net/manual/en/datetime.formats.relative.php