2014-05-09 51 views
0

假設今天是2014年5月1日星期三。我想獲得上週的日期星期一。回顯日期,距離當前日期一週

$CurrentDay = date(l); 
if ($CurrentDay == "Monday" AND $CurrentDay != "Wednesday") { 
    $AdjustedDate = date(j)-3; 
    $SetDate = $AdjustedDate."/".date(m)."/".date(Y); 
} 

這一切都很好,直到日期是像「1」或類似的值是「 - 」。

+0

謝謝@mureinik – X10nD

+1

你想要的是過去的星期一?在你的例子?你想要4月29日?還是再過1周? – Naruto

+1

不要試圖自己計算一天,而應使用'strtotime'。 – CBroe

回答

1

嘗試減去您的天當前日期

echo $CurrentDay = date(l); //Friday 
if($CurrentDay) { 
echo $AdjustedDate = date('d/m/Y l', strtotime('last Week Monday', strtotime($CurrentDay)));  
//28/04/2014 Monday 
+0

什麼是-11天? – X10nD

+0

@ X10nD上週一星期一檢查現在 –

1

如果要計算過去的星期一,使用此:

$timestamp = time(); 
$monday = idate('w', $timestamp) == 1 ? $timestamp : strtotime("last Monday", $timestamp); 

現在你得到了週一的時間戳,你可以這樣做:

echo date("d/m/Y", $monday);