我可以使用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更改为去年。
答案 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