PHP, получить завтрашний день от даты
у меня есть PHP дата в виде 2013-01-22
и я хочу получить завтрашнюю дату в том же формате, так например 2013-01-23
.
Как это возможно с PHP?
10 ответов:
использовать DateTime
$datetime = new DateTime('tomorrow'); echo $datetime->format('Y-m-d H:i:s');
или:
$datetime = new DateTime('2013-01-22'); $datetime->modify('+1 day'); echo $datetime->format('Y-m-d H:i:s');
или:
$datetime = new DateTime('2013-01-22'); $datetime->add(new DateInterval("P1D")); echo $datetime->format('Y-m-d H:i:s');
или в PHP 5.4+:
echo (new DateTime('2013-01-22'))->add(new DateInterval("P1D")) ->format('Y-m-d H:i:s');
$tomorrow = date("Y-m-d", strtotime('tomorrow'));
или
$tomorrow = date("Y-m-d", strtotime("+1 day"));
Помогите Ссылку: STRTOTIME ()
Так как вы пометили это с strtotime, вы можете использовать его с
+1 day
модификатор вроде так:$tomorrow_timestamp = strtotime('+1 day', strtotime('2013-01-22'));
тем не менее, это гораздо лучшее решение использовать DateTime.
/** * get tomorrow's date in the format requested, default to Y-m-d for MySQL (e.g. 2013-01-04) * * @param string * * @return string */ public static function getTomorrowsDate($format = 'Y-m-d') { $date = new DateTime(); $date->add(DateInterval::createFromDateString('tomorrow')); return $date->format($format); }
использовать
DateTime
:чтобы получить завтра с этого момента:
$d = new DateTime('+1day'); $tomorrow = $d->format('d/m/Y h.i.s'); echo $tomorrow;
результаты: 28/06/2017 08.13.20
чтобы получить завтра от даты:
$d = new DateTime('2017/06/10 08.16.35 +1day') $tomorrow = $d->format('d/m/Y h.i.s'); echo $tomorrow;
результаты: 11/06/2017 08.16.35
надеюсь, что это помогает!
по странному может показаться, что он работает отлично:
date_create( '2016-02-01 + 1 day' );
echo date_create( $your_date . ' + 1 day' )->format( 'Y-m-d' );
должны сделать это