DateTime对象如何将年份更改为当前年份

时间:2019-06-07 01:43:59

标签: php

我有一个生日列表,我想弄清楚今年每个生日是星期几。

是否有一种简单的方法来修改DateTime对象以将年份更改为当前年份?这样,我可以用它来获取星期几等。

说这是我的生日对象:

$dob = DateTime::createFromFormat('Y-m-d', '1986-07-26');

如何将其修改为当年或使用它在当年的同一日期创建一个新对象?

完成此操作后,我只需执行以下操作:

$test = $dob->format('l');

2 个答案:

答案 0 :(得分:0)

您可以直接修改日期。

$today = new DateTime();
$dob->setDate($today->format('Y'), $dob->format('m'), $dob->format('d'));

echo $dob->format('Y-m-d'); // 2019-07-26

答案 1 :(得分:0)

您可以使用modify()来增加/减少当前年份,也可以使用setDate()这样:

$dob->setDate((int) date("Y"), (int)$dob->format('m'), (int)$dob->format('d'));