2016-03-27 125 views
1

所以我想今天得到我們的當前日期(m-d-Y),然後加30天。我會把它放在一個mySQL數據庫中。然後,每天都會說出接近14天后還剩下多少天。PHP如何減去或添加日期?

$today = strtotime(date('Y-m-d H:i:s')); 
$expireDay = date('m-d-Y', strtotime("+30 days")); 
$timeToEnd = $expireDay - $today; 
if ($timeToEnd <= strtotime("$expireDay - 14 days")// this is not correct syntax 
{ 
echo "less than 14 days"; 
echo $timeToEnd('d')//here is where I am having problems with my syntax 
} else { 
echo "more than 14 days"; 
} 
+0

'$ expireDay'是一個字符串,不是整數。如果你使用'strtotime',你可以運行數學來獲取數據。 'strtotime(date('Y-m-d H:i:s'))''可以是'time()'。 – chris85

+0

這個問題幾乎每隔一天都會被問到。 http://stackoverflow.com/questions/365191/how-to-get-time-difference-in-minutes-in-php – Axalix

回答

2

我認爲$today只是爲了測試,如果是這種情況下,這段代碼應該工作。你的代碼試圖減去一個你不能做的字符串。 date('m-d-Y', strtotime("+30 days"));是日期字符串03-27-2016,要減去您需要的整數,其中strtotime將給出。

$today = time(); 
$expireDay = strtotime("+30 days"); 
$daysleft = (($expireDay - $today)/86400); 
if ($daysleft <= 14) { 
    echo "less than 14 days"; 
    echo $daysleft; 
} else { 
    echo "more than 14 days"; 
} 
+0

我已經花了整整一天的時間。謝謝一堆! :) – DDJ