Как я глубоко копирую объект DateTime?

$date1 = $date2 = new DateTime();
$date2->add(new DateInterval('P3Y'));

Теперь $date1 и $date2 содержите ту же дату - три года с этого времени. Я хотел бы создать два отдельных datetimes, тот, который анализируется от строки и один с тремя годами, добавленными к нему. В настоящее время я изрубил его как это:

$date2 =  new DateTime($date1->format(DateTime::ISO8601));

но это походит на ужасающий взлом. Существует ли "корректный" способ глубоко скопировать объект DateTime?

114
задан Billy ONeal 5 April 2010 в 16:12
поделиться

1 ответ

$date1 = new DateTime();
$date2 = new DateTime();
$date2->add(new DateInterval('P3Y'));

Обновление:

Если вы хотите скопировать, а не ссылаться на существующий объект DT, используйте clone , а не = .

$ a = клон $ b;

157
ответ дан 24 November 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: