Почему +3 ч другой выходной как +3 часа? - PullRequest
1 голос
/ 04 мая 2019

Я пишу небольшой расчет времени.Он всегда должен добавлять 3 часа к данному времени.

Но если я сделаю "+3 h" в методе strtotime() в php, он выведет другое значение.Поэтому мне интересно, почему "+3 hours" будет работать.Может кто-нибудь объяснить мне, почему?

Моя версия php: 7.0.33-0ubuntu0.16.04.4

$date = "2019-05-04 15:00"; //format is Y-m-d H:i
$out = date("Y-m-d H:i", strtotime("+3 h", strtotime($date)));
echo $out; //out = 2019-05-04 14:00

$date = "2019-05-04 15:00"; //format is Y-m-d H:i
$out = date("Y-m-d H:i", strtotime("+3 hours", strtotime($date)));
echo $out; //out = 2019-05-04 18:00

Это тестовый пример кода от меня.И $date - это другое значение каждые 15 минут.

PS: это мой первый вопрос по stackoverflow - Hello World: D

1 Ответ

0 голосов
/ 04 мая 2019

strtotime - анализировать любое текстовое описание даты и времени на английском языке в метку времени Unix

Вам нужно использовать hour ИЛИ hours. Аналогично для дней вы можете использовать day или days.

$date = "2019-05-04 15:00"; //format is Y-m-d H:i
$out = date("Y-m-d H:i", strtotime("+3 h", strtotime($date)));
echo $out; //out = 2019-05-04 12:00

Вывод показывает 2019-05-04 12:00, а не 2019-05-04 14:00.

Кажется, когда вы поставили неправильный формат; Айк +3 h, это просто вычитание из первоначального времени

...