Есть ли способ добавить определенное количество дней к дате, отформатированной как 2010-10-17, без преобразования ее в временную метку unix, например, используя функцию strtotime в PHP?Добавить количество дней до даты, отформатированной в MySQL Дата в PHP
ответ
Вы можете поиграть с 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
Хотя я интересно, почему вы не хотите работать со временными метками? Поскольку они являются самым гибким выбором здесь.
Это хорошие решения, которые я рассмотрел, но для этого требуется php 5.3.0 или выше. – Jason
Ах да. Может быть, вы должны отредактировать вопрос, чтобы заявить об этом? Кроме того, если вы работаете со старой версией PHP, ваша лучшая альтернатива будет заключаться в работе с отметками времени. –
Пожалуйста, не обращайте внимания на мой предыдущий комментарий, ошибку в методе тестирования ...^_^;; – deceze
Возможно, вы могли бы, но почему бы вам? Работа с датами в виде строк означает, что вы сами должны выполнить все нудные расчеты даты. Что случилось с 'strtotime'? – deceze
хорошо из моего понимания в 2038 году, метка времени не будет работать. – Jason
Какой проект вы работаете над тем, что вам нужно беспокоиться о датах, которые далеко? –