2013-10-19 34 views

回答

3

,工作的已經爲你做了。在CFLib上有這樣的UDF:businessDaysBetween()

也就是說,那裏使用的算法需要循環,我不認爲你應該需要循環。它應該是兩個日期之間的週數dateDiff(),乘以5,並在開始和結束日期一週的某一天抵消。

我被莫名其他東西捆綁在一起,但是如果我得到片刻會敲出更好的函數並更新CFLib上的函數,完成後返回此處。

+1

@MotoTribe - 是的,cflib.org永遠是一個檢查的好地方。通常它已經有了一個能夠滿足你需要的功能 - 或者至少可以作爲一個起點。 – Leigh

2

您可以使用dayOfWeek,並確保它不是1或7,你遍歷你不需要任何工作出日期

days = 0;  
    while (date1 LT date2) { 
    date1 = dateAdd('d',1,date1); 
    if(NOT listFind('1,7',dayOfWeek(date1))) { 
     days++; 
    } 
    }