web-dev-qa-db-ja.com

PHP、日付から明日を取得

PHPの日付は2013-01-22の形式であり、同じ形式で明日の日付を取得したいので、たとえば2013-01-23のようにします。

これはPHPでどのように可能ですか?

75
Justin

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');
178
John Conde
 $tomorrow = date("Y-m-d", strtotime('tomorrow'));

または

  $tomorrow = date("Y-m-d", strtotime("+1 day"));

ヘルプリンク: STRTOTIME()

57
Laura Chesches

これを strtotime でタグ付けしたため、次のように+1 day修飾子とともに使用できます。

$tomorrow_timestamp = strtotime('+1 day', strtotime('2013-01-22'));

とは言うものの、これは DateTimeを使用 に対するより優れたソリューションです。

17
Rudi Visser
<? php 

//1 Day = 24*60*60 = 86400

echo date("d-m-Y", time()+86400); 

?>
13
andy

echo date ('Y-m-d',strtotime('+1 day', strtotime($your_date)));

5
ABDUL JAMAL

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

それが役に立てば幸い!

2
Gregorio
/**
 * 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);
}
1
crmpicco

奇妙なことに、それは完全に正常に動作しているように見えます:date_create( '2016-02-01 + 1 day' );

echo date_create( $your_date . ' + 1 day' )->format( 'Y-m-d' );

やるべき