@KirillTrueno

Как прибавить к дате несколько дней (суток) с точностью до минуты?

Есть строка с датой и временем, нужно к ней прибавить несколько дней, но есть проблема с добавлением минут.
$old_date = '2022-01-15 23:59:59';

$date = new DateTime($old_date);
$date->modify('+10 day');
$new_date = $date->format('Y-m-d H:m:s');

print($new_date);
// Выводит 2022-01-25 23:01:59

Т.е. прибавляю 10 дней но фактически прибавилось 9 дней 23 часа 2 минуты.
Куда делись 58 минут?
Как прибавить к дате несколько суток ( по 24 часа )?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вы вместо минут вывели месяц.
$new_date = $date->format('Y-m-d H:i:s');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@tempick
Не работал с DateTime, не знаю, почему такая дата получается. Но вот такой способ работает корректно:
$timestamp = strtotime($old_date);
$newTimestamp = $timestamp + 60*60*24*10;
$new_date = date('Y-m-d H:i:s',$newTimestamp);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы