#php
#php
Вопрос:
Для данного кода
$now = new DateTime('now', new DateTimeZone('Pacific/Auckland'));
// $oneMsAgo = ???
var_dump($now->format(DateTime::RFC3339_EXTENDED));
какой был бы надежный способ вычесть одну миллисекунду, чтобы получить другой DateTime
объект?
Под «надежным» я подразумеваю — это должна быть действительная дата-время, которая учитывает все нюансы часового пояса и летнее время, как если бы вы вычитали секунду с помощью DateInterval('PT1S')
.
Ответ №1:
Хорошо, отвечая на мой собственный вопрос
$oneMsAgo = (clone $now)->setTime($now->format('H'), $now->format('i'), $now->format('s'), $now->format('u') - 1000);