Я пытаюсь получить -2 месяца на дате в PHP. В большинстве случаев результат хорош, но для одной даты результат является ложным.PHP DateTime return not exepected result
$d = 1409436000; // 31-8-2014
$d1 = new DateTime(date("d-m-Y", $d));
$d1->modify("-2 month");
echo $d1->format("d-m-Y");
// expected : 30-06-2014
// got : 01-07-2014
Моя текущая версия РНР: 5.6.23-0 + deb8u1 Я не имею никакого конфигурацию о TimeZone.
Итак: Почему я получил этот результат? Это потому, что август & Июль 31 дней? Или текущая ошибка в phpversion? Часовой пояс?
Спасибо =)
работает для меня .. Я получил 30-06-2014 –
Вы можете попробовать : '$ d = 1409436000; // 31-8-2014 $ d1 = new DateTime(); $ d1-> setTimestamp ($ d); $ d1-> изменить ("- 2 месяца"); echo $ d1-> format ("d-m-Y"); ' –
Я действительно получил' 01-07-2014'. Я запускаю PHP 7. –