Disons que je reçois une chaîne, "2007-02-28"
, quel est le code le plus simple que je pourrais écrire pour transformer cela en "2007-03-01"
? En ce moment, j'utilise simplement strtotime()
, puis j'ajoute 24*60*60
, puis date()
, mais je me demande simplement s'il existe une méthode plus propre, plus simple ou plus intelligente.
Une façon propre est d'utiliser strtotime()
$date = strtotime("+1 day", strtotime("2007-02-28"));
echo date("Y-m-d", $date);
Je vous donnerai le 2007-03-01
C'est plus propre et plus simple d'ajouter 86400. :)
La manière high-tech est de faire:
$date = new DateTime($input_date);
$date->modify('+1 day');
echo $date->format('Y-m-d');
mais ce n'est vraiment intéressant que si vous faites, par exemple, une séquence de transformations sur la date, plutôt que de simplement chercher demain.
Vous pouvez faire l’addition directement dans strtotime, par exemple.
$today="2007-02-28";
$nextday=strftime("%Y-%m-%d", strtotime("$today +1 day"));
Une autre façon consiste à utiliser la fonction mktime (). C'est une fonction très utile ...
$date = "2007-02-28";
list($y,$m,$d)=explode('-',$date);
$date2 = Date("Y-m-d", mktime(0,0,0,$m,$d+1,$y));
mais je pense que strtotime()
est meilleur dans cette situation ...
La manière la plus simple ...
echo date('Y-m-d',strtotime("+1 day")); //from today
OU à partir de la date spécifiée ...
echo date('Y-m-d',strtotime("+1 day", strtotime('2007-02-28')));
Bonjour, vous pouvez essayer ceci ci-dessous surtout si vous êtes français
$date = date('l j F Y');
#increment the date
$date2 = date('l j F Y', strtotime("+7 day"));
pour traduire en français, vous pouvez utiliser la fonction setlocale () ou la fonction ci-dessous:
function fr_date($date){
$date = explode(' ', $date);
$date = str_replace('Monday','Lundi',$date);
$date = str_replace('Tuesday','Mardi',$date);
$date = str_replace('Wednesday','Mercredi',$date);
$date = str_replace('Thursday','Jeudi',$date);
$date = str_replace('Friday','Vendredi',$date);
$date = str_replace('Saturday','Samedi',$date);
$date = str_replace('Sunday','Dimanche',$date);
$date = str_replace('January','Janvier',$date);
$date = str_replace('February','Février',$date);
$date = str_replace('March','Mars',$date);
$date = str_replace('April','Avril',$date);
$date = str_replace('May','Mai',$date);
$date = str_replace('June','Juin',$date);
$date = str_replace('July','Juillet',$date);
$date = str_replace('August','Août',$date);
$date = str_replace('September','Septembre',$date);
$date = str_replace('October','Octobre',$date);
$date = str_replace('November','Novembre',$date);
$date = str_replace('December','Décembre',$date);
$date = implode(' ',$date);
return $date;
}
$your_date = strtotime("1month", strtotime(date("Y-m-d")));
$new_date = date("Y-m-d", $your_date++);