Причина, по которой вы получаете неправильный результат, скорее всего, в том, что вы не установили часовой пояс по умолчанию, один для «вашего» часового пояса.
В добавлении и например:
date_default_timezone_set('America/New_York');
вернул правильную разницу во времени, хотя не использовал ее, вернул то, что вы сейчас получаете.
Используйте тот, который соответствует вашему часовому поясу, или установите его в системных файлах.
Из руководства http://php.net/manual/en/datetime.diff.php в разделе «Примечания, внесенные пользователями»:
"При использовании datediff убедитесь, что ваш часовой пояс правильный, для меня в 64-разрядной версии Windows 7 он вел себя очень странно, когда часовой пояс был неправильным (я сравнивал сейчас со временем в базе данных и метаданными exif на фотографиях). Например: date_default_timezone_set ('Европа/Осло');"
и просмотрите остальную часть «Заметок, внесенных пользователями».
- Другой возможной причиной может быть расположение сервера, которое отличается от «вашего» положения на «земле».
Соответствующая ссылка из комментариев, предоставленных RiggsFolly:
что тут может быть.
Изменить:
Заметив, что ОП принимает этот ответ, взятый из комментария RiggsFolly, нужно было также добавить:
date_default_timezone_set('UTC');
Я бы назвал это совместным предприятием, и я не могу взять на себя полную ответственность за это.
person
Funk Forty Niner
schedule
15.03.2017
1 months 29 days
чего я и ожидал - person RiggsFolly   schedule 15.03.20172 months
, если между этими датами нет 2 месяцев?? - person RiggsFolly   schedule 15.03.20172 months1 days
на 5.6.24, если часовой пояс по умолчанию не используется. При использованииdate_default_timezone_set('America/New_York');
я получаю обратно1 months29 days
- так что это вероятный ответ на этот вопрос. - person Funk Forty Niner   schedule 15.03.2017date_default_timezone_set('UTC');
- person RiggsFolly   schedule 15.03.2017UTC
перед запуском этого кода, а затем вернете его в свой часовой пояс после завершения этого кода. - person RiggsFolly   schedule 15.03.2017