2011-08-25 79 views
1

我在一段時間內使用strtotime來自動更新數據庫中的條目。使用strtotime忽略/跳過週末

這取決於用戶在前一頁中陳述的內容而增加了一定天數。

使用此代碼:

$calendardate = strtotime ('+'.$calendarday.' day' , strtotime ($date)) ; 
    $calendardate = date ('Y-m-d' , $calendardate); 

我怎樣才能得到它跳過週末?我需要使用相同的變量($ calendardate),但我需要它忽略週六和週日。

任何幫助最讚賞:)

+0

您正在使用哪個SQL? MySQL的? – Johan

+0

是MySQL和PHP。 –

回答

8
$now = date("Y-m-d H:i:s"); 
$h = date("H:i:s");  
$two_weekdays_later = strtotime(date("Y-m-d H:i:s", strtotime($now)) . " +2 weekdays $h"); 
0

在我在一天一天迭代,測試,如果事情是星期六或星期日結算結束。否則,很難考慮年底等情況(也許我還有其他要求,如跳過其他日子,而不僅僅是週末,但可能最終有一天會有相同的要求 - 比如跳過假期等)。

0

使用日期的功能如下:

if ((date("w", $calendardate) == 0) || (date("w", $calendardate) == 6)) 
{ 
    echo "weekend"; 
} 

星期日= 0, 星期六= 6

如果使用date("N", $calendardate),那麼數字,從1到7上運行= 「星期一」 =「星期天」

http://php.net/manual/en/function.date.php

請注意,$calendardate需要是鏈接中的規範的unix時間戳。

+0

我似乎無法得到它的工作。 基本上這就是我想要做的: 用戶從datepicker選擇日期 - >用戶選擇天數 - > PHP代碼檢測用戶選擇的任何一天是否在週末 - >如果沒有,使用while循環將日期輸入到數據庫中,如果是,請跳過它們並在週末後輸入它們。 –

+0

對不起對不起100x對不起,週六是6號,不是7號,請看鏈接。 – Johan

+0

是的,我注意到了,並將其更改爲6,它仍然無法工作:( –