2012-08-16 165 views
34

我試圖獲取當前日期加上7天顯示。返回當前日期加上7天

舉例:今天是2012年8月16日,所以這個PHP代碼段將輸出8月23日,2012年

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

現在,我越來越:08年1月,1970年我在想什麼?

+2

什麼是'$ date'的初始值? – deceze 2012-08-16 13:40:17

+0

是的,我認爲這是問題所在。我如何將初始值設置爲當前日期? – 2012-08-16 13:41:46

回答

98

strtotime將自動使用當前的unix時間戳來將您的字符串註釋關閉。

只要做到:

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

新增信息對於未來訪問者:如果你需要一個時間戳傳遞給函數,下面將工作。

這將計算7 days從昨天:

$timestamp = time()-86400; 

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

美麗。這工作完美。謝謝! – 2012-08-16 13:43:14

5

如果是從現在開始7日內就該項你要找的,只是把:

$date = strtotime("+7 day", time()); 
echo date('M d, Y', $date); 
3
<?php 
print date('M d, Y', strtotime('+7 days')); 
3

你沒有使用time()函數,返回從Unix Epoch(1970年1月1日00:00:00 GMT)開始的秒數內測量的當前時間。 使用這樣的:

$date = strtotime(time()); 
$date = strtotime("+7 day", $date); 
echo date('M d, Y', $date); 
6
$date = new DateTime(date("Y-m-d")); 
$date->modify('+7 day'); 
$tomorrowDATE = $date->format('Y-m-d'); 
1
$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

此代碼的工作對我來說:

<?php 
$date = "21.12.2015"; 
$newDate = date("d.m.Y",strtotime($date."+2 day")); 
echo $newDate; // print 23.12.2015 
?>