2014-11-24 107 views
2

我在PHP上有點新,並且在這一點上已經停留了幾天,在預訂問題上,$ ddate是格式爲(yyyy/mm/dd)的特定日期。季節性預訂系統日/月

list($ yyear,$ mmonth,$ dday)= explode('/',$ ddate);//這將爆炸的日期到年和月。 我需要做的是,當冬季或夏季的實際月份在此日期時,它會在該特定日期的所有周和所有月份中進行預訂。預訂只是在DB中輸入,它已經可以工作,但是問題是如何使它在保留時進行計數。

$season_type=''; 
    if ($mmonth = 10 or 11 or 12 or 01 or 02 or 03 or 04) { 
    $seson_type='Wint'; 

    } 
    if ($mmonth = 05 or 06 or 07 or 08 or 09) { 
    $seson_type='Summ'; 

例如:冬季是從10月到04所以7月以來,我從預訂($ ddate)開始,在這種情況下,2014年2月3日那麼2014年,02月和03天,這將是星期一,我需要的是現在它保存所有月份(02 03 04)的星期一。我儘可能地解釋它。 P.對於語法錯誤感到遺憾。我只是停留在這一點上,不知道如何使它工作。

+0

您目前未分配比較。 =表示分配,==或===表示比較 – 2014-11-24 14:10:29

+0

謝謝,請牢記在心。 – Royal 2014-11-25 09:47:29

回答

0

簡單的解決方法是使用循環中,在其中添加7天,日期,直到到達下個賽季:

$your_input_date = '2014/02/03'; 

$season = [ 
    'summer' => [5,6,7,8,9], 
    'winter' => [10,11,12,1,2,3,4], 
]; 
$dt = DateTime::createFromFormat('!Y/m/d', $your_input_date); 
$is_winter = in_array($dt->format('n'), $season['winter']); 
while (in_array($dt->format('n'), $season[$is_winter ? 'winter' : 'summer'])) { 
    echo $dt->format('Y-m-d'), "\n"; 
    $dt->modify('+7 day'); 
} 

demo

+0

謝謝你它工作:),你是最好的:) – Royal 2014-11-25 09:46:16