最简单的方法来在PHP中增加date?

说我有一个string进来, "2007-02-28"年2月28日"2007-02-28" ,什么是最简单的代码,我可以写成"2007-03-01" ? 现在我只是使用strtotime() ,然后添加24*60*60 ,然后使用date() ,但只是想知道是否有一个更干净,更简单,或更聪明的方式来做到这一点。

一个干净的方法使用strtotime()

 $date = strtotime("+1 day", strtotime("2007-02-28")); echo date("Ymd", $date); 

会给你2007-03-01

添加86400更干净更简单。:)

高科技的方法是做:

 $date = new DateTime($input_date); $date->modify('+1 day'); echo $date->format('Ym-d'); 

但是如果你正在做某个date的一系列转换,而不是仅仅在明天find,那么这真的是非常有价值的。

你可以在时间内进行添加,例如

  $today="2007-02-28"; $nextday=strftime("%Y-%m-%d", strtotime("$today +1 day")); 

另一种方法是使用函数mktime()。 这是非常有用的function…

 $date = "2007-02-28"; list($y,$m,$d)=explode('-',$date); $date2 = Date("Ymd", mktime(0,0,0,$m,$d+1,$y)); 

但我认为strtotime()在这种情况下更好…

最简单的方法

 echo date('Ym-d',strtotime("+1 day")); //from today 

OR从指定的date…

 echo date('Ym-d',strtotime("+1 day", strtotime('2007-02-28'))); 

你好,你可以尝试下面,尤其是如果你是法国人

 $date = date('lj F Y'); #increment the date $date2 = date('lj F Y', strtotime("+7 day")); 

在法语翻译您可以使用setlocale()函数或下面的函数:

 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("Ymd"))); $new_date = date("Ymd", $your_date++); 
  $early_start_date = date2sql($_POST['early_leave_date']); $date = new DateTime($early_start_date); $date->modify('+1 day'); $date_a = new DateTime($early_start_date . ' ' . $_POST['start_hr'] . ':' . $_POST['start_mm']); $date_b = new DateTime($date->format('Ym-d') . ' ' . $_POST['end_hr'] . ':' . $_POST['end_mm']); $interval = date_diff($date_a, $date_b);