当前位置:  开发笔记 > 编程语言 > 正文

在PHP中增加日期的最简单方法?

如何解决《在PHP中增加日期的最简单方法?》经验,为你挑选了5个好方法。

假设我有一个字符串,"2007-02-28"我能编写的最简单的代码是"2007-03-01"什么?现在我只是使用strtotime(),然后添加24*60*60,然后使用date(),但只是想知道是否有更干净,更简单,或更聪明的方式.



1> Ólafur Waage..:

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

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

会给你2007-03-01



2> chaos..:

添加86400更简洁,更简单.:)

高科技的方法是:

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

但是,如果您在日期进行一系列转换,而不仅仅是寻找明天,那么这真的是非常值得的.


呃没有.只添加86400就是虚假的简单.
并非所有日子都是86400秒(闰秒).
@chaos:如果您的最小工作时间是一天,那么您通常可以通过添加或减少86400单位来逃避.如果它更小,您需要了解夏令时和时区.在这种情况下,请使用内置函数.他们会比你更频繁地做对.

3> Paul Dixon..:

您可以在strtotime内部进行添加,例如

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



4> Bajlo..:

另一种方法是使用函数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()在那种情况下会更好......



5> 小智..:

最简单的方法......

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

或者从指定日期开始......

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

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有