【发布时间】:2010-10-12 20:18:41
【问题描述】:
添加一个日期,这样我就可以将明天的日期存储在一个变量中。
$tomorrow = date("Y-m-d")+86400;
我忘了。
【问题讨论】:
添加一个日期,这样我就可以将明天的日期存储在一个变量中。
$tomorrow = date("Y-m-d")+86400;
我忘了。
【问题讨论】:
date()返回一个字符串,所以给它加上一个整数是不行的。
首先构建你的明天时间戳,使用strtotime 不仅干净而且更准确(参见 Pekka 的评论):
$tomorrow_timestamp = strtotime("+ 1 day");
然后,将其用作date 调用的第二个参数:
$tomorrow_date = date("Y-m-d", $tomorrow_timestamp);
或者,如果你的心情超级紧凑,这一切都可以推入
$tomorrow = date("Y-m-d", strtotime("+ 1 day"));
【讨论】:
strtotime("+ 1 day"); 因为 DST
我鼓励您探索 PHP 5.3 DateTime 类。它使日期和时间更容易处理:
$tomorrow = new DateTime('tomorrow');
// e.g. echo 2010-10-13
echo $tomorrow->format('d-m-Y');
此外,您可以将+ 1 day 语法与任何日期一起使用:
$xmasDay = new DateTime('2010-12-24 + 1 day');
echo $xmasDay->format('Y-m-d'); // 2010-12-25
【讨论】:
date 返回一个字符串,而您希望将 86400 秒添加到时间戳。我想你正在寻找这个:
$tomorrow = date("Y-m-d", time() + 86400);
【讨论】:
很好很明显:
$tomorrow = strtotime('tomorrow');
【讨论】:
date 调用,我们很高兴。
您可以使用add 方法datetime 类。
例如,您想在当前日期和时间上增加一天。
$today = new DateTime();
$today->add(new DateInterval('P1D'));
进一步参考php datetime add
希望这会有所帮助。
【讨论】:
我发现mktime() 对这类事情最有用。例如:
$tomorrow=date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+1, date("Y")));
【讨论】: