Strtotime вернуть отрицательное число - PullRequest
0 голосов
/ 13 июня 2018

Я хочу получить разницу между текущим и сегодняшним полуночью, но получаю отрицательное число.Почему?

  echo strtotime('today midnight') - strtotime("now");

1 Ответ

0 голосов
/ 13 июня 2018

Как упомянуто в комментарии ceeyajoz , полночь относительно неясна, см. эту ссылку .

Что касается вашего вопроса, рассмотрите этот eval.inскрипт .

вчерашняя полночь не такая, как сегодняшняя полночь, что раньше, чем сейчас.Кажется, что midnight означает полночь, которая произошла в начале сегодняшнего дня.Учитывая это, понятно, что вы получаете отрицательное целое число, поскольку полночь уже произошла.

Как уже упоминалось в еще одном полезном комментарии :

@ user3066977 Если выхотите время, оставшееся до полуночи, сделайте strtotime('tomorrow midnight') - time() или strtotime('tomorrow 00:00:00') - time()

...