2010-10-18 1 views
1

Есть ли способ добавить определенное количество дней к дате, отформатированной как 2010-10-17, без преобразования ее в временную метку unix, например, используя функцию strtotime в PHP?Добавить количество дней до даты, отформатированной в MySQL Дата в PHP

+0

Возможно, вы могли бы, но почему бы вам? Работа с датами в виде строк означает, что вы сами должны выполнить все нудные расчеты даты. Что случилось с 'strtotime'? – deceze

+0

хорошо из моего понимания в 2038 году, метка времени не будет работать. – Jason

+1

Какой проект вы работаете над тем, что вам нужно беспокоиться о датах, которые далеко? –

ответ

3

Вы можете поиграть с DateTime library.

Итак, основываясь на описании, что-то вроде следующего должен сделать трюк:

$date = new DateTime('2010-10-17'); 
$date->add(new DateInterval('P10D')); //adding ten days 
echo $date->format('Y-m-d') . "\n"; 

Выходы: 2010-10-27


Хотя я интересно, почему вы не хотите работать со временными метками? Поскольку они являются самым гибким выбором здесь.

+0

Это хорошие решения, которые я рассмотрел, но для этого требуется php 5.3.0 или выше. – Jason

+0

Ах да. Может быть, вы должны отредактировать вопрос, чтобы заявить об этом? Кроме того, если вы работаете со старой версией PHP, ваша лучшая альтернатива будет заключаться в работе с отметками времени. –

+0

Пожалуйста, не обращайте внимания на мой предыдущий комментарий, ошибку в методе тестирования ...^_^;; – deceze