2011-08-11 85 views
2

我的代碼已經在日期範圍內工作得很好(不使用datetime類,我被困在5.2中)。但是我想修改它以在週末前的前一天(例如週五)根據開始日期每兩週選擇一次。選擇星期幾,每隔x天不是週末

我一直在尋找所有的星期六和星期日,然後做一個array_search與實驗一mktime這樣:mktime(0, 0, 0, date("m", $date), date("d", $date)-1, date("Y", $date)

似乎找到所有的星期六&週日,但我的代碼似乎代替實際日期,而不是隻選擇前一天並設計它。我的代碼有點亂,但它的相當通用的日期範圍,例如而($date1 <= $date2) { do stuff here }

那麼我應該如何選擇星期五之前從開始日期的每14天的週末數。

編輯: 下面的答案都很好,但不完全是我問的。希望我能在這裏更清楚。 我不希望代碼發現我在某個日期範圍內的所有星期五,具體而言,我希望執行一個日期範圍,並且每次有星期五是從開始日期(即每兩週)開始+14天時來塑造它,讓它脫穎而出。我已經設法每隔兩週找到所有的週末,並設計風格,但我無法弄清楚如何從開始日期前提前兩週選擇星期五。

回答

0

你可以用strtotime()得到最初的星期五,然後你可以使用那個或你的mktime函數來做14天的增加。今天

0
$thisWeekFriday = strtotime('friday'); 
$twoWeeksFromFriday = $thisWeekFriday + 1209600; //1209600 seconds in two weeks 
echo date('Y-m-d H:i:s', $twoWeeksFromFriday); 
0
$number_of_dates = 10; 
for ($i = 0; $i < $number_of_dates; $i++) { 
    echo date('Y-m-d', strtotime('Friday +' . ($i * 2) . ' weeks')); 
} 

這將輸出

2011-08-12 
2011-08-26 
2011-09-09 
2011-09-23 
2011-10-07 
2011-10-21 
2011-11-04 
2011-11-18 
2011-12-02 
2011-12-16 
相關問題