Как вычислить разницу между датами в UTC?

89
11 февраля 2021, 20:40

Хочу найти разницу между двумя датами в днях.

$date1 = strtotime("2019-06-20 00:00:00");
$date2 = strtotime("2000-01-01 00:00:00");
$days = ($date1 - $date2)/60/60/24; //7110

У меня получается 7110 дней. Все хорошо, но в UTC должно получиться 7109 дней. Как найти разницу в UTC?

Вот в c# например у меня получается 7109

var expiration_date = DateTime.Parse("20.06.2019 00:00:00");
(int)(expiration_date.Value.ToUniversalTime() - new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalDays;
Answer 1

Во первых разница выводится правильно. Чтобы получить разницу 7109, в вашем случае не получится в днях, можно использовать такой вариант:

Тут вторая дата отличается на 1 секунду, и считает в днях верно

$datetime1 = new DateTime('2019-06-20 00:00:00');
$datetime2 = new DateTime('2000-01-01 00:00:01');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a дней'); // -7109 дней
READ ALSO
Как обновить ACF Image c помощь update_field?

Как обновить ACF Image c помощь update_field?

Я использую Advanced Custom Fields плагин в Wordpress

89
Инсталлятор для проекта

Инсталлятор для проекта

Возник такой вопрос - у меня есть проект на yii2, проект достаточно объемный

102
Как открыть xml документ, сохраненный из MSWord?

Как открыть xml документ, сохраненный из MSWord?

Есть XML Документ, который был сохранен из MSWord

117
Undefined variable в view MVC

Undefined variable в view MVC

Есть такая проблема переменная объявленная в контроллере не работает в шаблонеПодскажите проблему пожалуйста

106