Вычтите миллисекунды из строки даты ISO 8601 в PHP - PullRequest
0 голосов
/ 20 июня 2019

У меня дьявольское время работы с тем, что я считаю (?) Строками даты ISO 8601.Мне нужно иметь возможность вычитать из них миллисекунды, чтобы я мог сделать что-то вроде этого:

$a = '2019-06-09T12:56:52.081Z';

$b = subtract_milliseconds($a, 1);

echo $b; // '2019-06-09T12:56:52.080Z';

Любая помощь будет принята с благодарностью, спасибо!

1 Ответ

1 голос
/ 20 июня 2019

Примерно так:

$d = new DateTime('2019-06-09T12:56:52.081Z');
$d->setTime($d->format('H'), $d->format('i'), $d->format('s'), $d->format('u') - 1000);
echo $d->format('Y-m-d\TH:i:s.u\Z');
// 2019-06-09T12:56:52.080000Z

Обратите внимание, что это работает только с PHP 7.1, решения для более старых версий PHP, вероятно, будут намного более ручными.

...