2012-06-14 50 views
0

我想列出基於過去的最後一個星期二的幾個日期範圍。我所期待的是...獲取基於上個星期二過去星期二的PHP列表

June 6 - June 12 
May 30 - June5 

但我得到的是

June 6 - June 12 
- December 24 

我的代碼如下

$lastWensE1 = date('F j', strtotime("last tuesday")); 
$lastWensS1 = strtotime ('-6 day' , strtotime ($lastWensE1)) ; 

$lastWensE2 = strtotime ('-7 day' , strtotime ($lastWensE1)) ; 
$lastWensS2 = strtotime ('-7 day' , strtotime ($lastWensS1)) ; 

echo date('F j', $lastWensS1)." - ".$lastWensE1; 
echo "<br/>"; 
echo date('F j', $lastWensS2)." - ".date('F j', $lastWensE2); 

回答

1

所有的計算過去3個星期二,應先進行,試圖格式化結果之前,這給了更清晰的代碼:

$lastTue1 = strtotime('last tuesday'); 
$lastTue2 = strtotime('-7 day' , $lastTue1); 
$lastTue3 = strtotime('-7 day' , $lastTue2); 

echo date('F j', strtotime('+1 day', $lastTue2))." - ".date('F j', $lastTue1); 
echo "<br/>"; 
echo date('F j', strtotime('+1 day', $lastTue3))." - ".date('F j', $lastTue2); 

這給:

June 6 - June 12 
May 30 - June 5 
1

因爲你指定的在這裏是日期代碼,

$lastWensE1 = date('F j', strtotime("last tuesday")); 
$lastWensS1 = strtotime ('-6 day' , strtotime ($lastWensE1)) ; 

$lastWensE2 = strtotime ('-7 day' , strtotime ($lastWensE1)) ; 
$lastWensS2 = strtotime ('-7 day' , strtotime (date('F j',$lastWensS1))) ; 

echo date('F j', $lastWensS1)." - ".$lastWensE1; 
echo "<br/>"; 
echo date('F j', $lastWensS2)." - ".date('F j', $lastWensE2); 
相關問題