J'ai une date PHP sous la forme de 2013-01-22
et je souhaite obtenir la date de demain dans le même format. Ainsi, par exemple 2013-01-23
.
Comment est-ce possible avec PHP?
Utilisez DateTime
$datetime = new DateTime('tomorrow');
echo $datetime->format('Y-m-d H:i:s');
Ou:
$datetime = new DateTime('2013-01-22');
$datetime->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');
Ou:
$datetime = new DateTime('2013-01-22');
$datetime->add(new DateInterval("P1D"));
echo $datetime->format('Y-m-d H:i:s');
Ou dans 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'));
ou
$tomorrow = date("Y-m-d", strtotime("+1 day"));
Lien d'aide: STRTOTIME ()
Puisque vous avez étiqueté ceci avec strtotime , vous pouvez l’utiliser avec le modificateur +1 day
comme suit:
$tomorrow_timestamp = strtotime('+1 day', strtotime('2013-01-22'));
Cela dit, c'est une bien meilleure solution pour tiliser DateTime .
<? php
//1 Day = 24*60*60 = 86400
echo date("d-m-Y", time()+86400);
?>
echo date ('Y-m-d',strtotime('+1 day', strtotime($your_date)));
Utilisez DateTime
:
Pour avoir demain à partir de maintenant:
$d = new DateTime('+1day');
$tomorrow = $d->format('d/m/Y h.i.s');
echo $tomorrow;
Résultats: 28/06/2017 08.13.20
Pour avoir demain d'une date:
$d = new DateTime('2017/06/10 08.16.35 +1day')
$tomorrow = $d->format('d/m/Y h.i.s');
echo $tomorrow;
Résultats: 11/06/2017 08.16.35
J'espère que ça aide!
/**
* 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);
}
Cela peut sembler étrange que cela fonctionne parfaitement: date_create( '2016-02-01 + 1 day' );
echo date_create( $your_date . ' + 1 day' )->format( 'Y-m-d' );
Devrait le faire