返回当前日期加7天

74

我正在尝试获取当前日期加7天并将其显示。

例如:今天是2012年8月16日,因此这个php片段将输出2012年8月23日。

   $date = strtotime($date);
   $date = strtotime("+7 day", $date);
   echo date('M d, Y', $date);

我现在得到的是:1970年1月8日。我错过了什么吗?


2
$date 的初始值是什么? - deceze
1
是的,我认为那就是问题所在。我该如何将初始值设置为当前日期? - James Clear
10个回答

157
strtotime 会自动使用当前的 Unix 时间戳来基于您的字符串注释。

只需执行:

$date = strtotime("+7 day");
echo date('M d, Y', $date);

未来访客需知:如果您需要向函数传递一个时间戳,以下方法可行。

这将从昨天开始计算7天

$timestamp = time()-86400;

$date = strtotime("+7 day", $timestamp);
echo date('M d, Y', $date);

21
$date = new DateTime(date("Y-m-d"));
$date->modify('+7 day');
$tomorrowDATE = $date->format('Y-m-d');

8
如果您要查找七天后的日期,请使用以下内容:

如果您要查找七天后的日期,请输入:

$date = strtotime("+7 day", time());
echo date('M d, Y', $date);

7
$now = date('Y-m-d');
$start_date = strtotime($now);
$end_date = strtotime("+7 day", $start_date);
echo date('Y-m-d', $start_date) . '  + 7 days =  ' . date('Y-m-d', $end_date);

1
唯一有用的答案。 - Malachi Bazar

5
<?php
print date('M d, Y', strtotime('+7 days') );

4

你没有使用time()函数,该函数返回自Unix纪元(1970年1月1日00:00:00 GMT)以来以秒为单位测量的当前时间。 使用方式如下:

$date = strtotime(time());
$date = strtotime("+7 day", $date);
echo date('M d, Y', $date);

3
这段代码对我有效:
<?php
$date = "21.12.2015";
$newDate = date("d.m.Y",strtotime($date."+2 day"));
echo $newDate; // print 23.12.2015
?>

2
echo date('d-m-Y', strtotime('+7 days'));

2
$date = strtotime("+7 day", strtotime("M d, Y"));
$date =  date('j M, Y', $date);

这也可以工作


1

以下是使用strtotime()的方法:

<?php
    $date = strtotime("3 October 2005");
    $d = strtotime("+7 day", $date);
    echo "Created date is " . date("Y-m-d h:i:sa", $d) . "<br>";
?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接