$date1 = $date2 = new DateTime();
$date2->add(new DateInterval('P3Y'));
Теперь $date1
и $date2
содержите ту же дату - три года с этого времени. Я хотел бы создать два отдельных datetimes, тот, который анализируется от строки и один с тремя годами, добавленными к нему. В настоящее время я изрубил его как это:
$date2 = new DateTime($date1->format(DateTime::ISO8601));
но это походит на ужасающий взлом. Существует ли "корректный" способ глубоко скопировать объект DateTime?
$date1 = new DateTime();
$date2 = new DateTime();
$date2->add(new DateInterval('P3Y'));
Обновление:
Если вы хотите скопировать, а не ссылаться на существующий объект DT, используйте clone
, а не =
.
$ a = клон $ b;