假设我有一个字符串,"2007-02-28"
我能编写的最简单的代码是"2007-03-01"
什么?现在我只是使用strtotime()
,然后添加24*60*60
,然后使用date()
,但只是想知道是否有更干净,更简单,或更聪明的方式.
一个干净的方法是使用strtotime()
$date = strtotime("+1 day", strtotime("2007-02-28")); echo date("Y-m-d", $date);
会给你2007-03-01
添加86400更简洁,更简单.:)
高科技的方法是:
$date = new DateTime($input_date); $date->modify('+1 day'); echo $date->format('Y-m-d');
但是,如果您在日期进行一系列转换,而不仅仅是寻找明天,那么这真的是非常值得的.
您可以在strtotime内部进行添加,例如
$today="2007-02-28"; $nextday=strftime("%Y-%m-%d", strtotime("$today +1 day"));
另一种方法是使用函数mktime().这是非常有用的功能......
$date = "2007-02-28"; list($y,$m,$d)=explode('-',$date); $date2 = Date("Y-m-d", mktime(0,0,0,$m,$d+1,$y));
但我认为strtotime()
在那种情况下会更好......
最简单的方法......
echo date('Y-m-d',strtotime("+1 day")); //from today
或者从指定日期开始......
echo date('Y-m-d',strtotime("+1 day", strtotime('2007-02-28')));