看板 PHP 關於我們 聯絡資訊
※ 引述《roga (任性)》之銘言: : ※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言: : : 因為資料是從陣列來的 : : 如果要去計算期間有幾個週未日,似乎會滿秏時間的。 : 因為耗時間才要交給機器做, : 不過好的作法可以讓機器少耗一些時間就是了... : : 想推一下公式,卻又想不出關聯 @.@ : : 請問有沒有人寫過類似的函式? : 看你的資料的複雜度吧, : 1. 只有日期,而且連續,那每七天扣掉兩天就是你的答案。 是連續的 要從撈出來的資料比對欄位B的日期 是否在欄位A日期+n天的區間內(排除六日) 一開始打算直接在SQL Server做判斷的.. 不過這樣SQL會落落長的落落長,而且加重SQL Server的Loading 接著打算想試試能不能用數學式來推(用+-%..之類的) 推不出來最後目前換成用data函數 1.先比對是否為同一週 (直接B-A) 2.計算日期A距週六幾天 3.計算日期B距週日幾天 再做(相隔週數-1)*5 + (週六-A天數) + B距週日天數 : 至於效能方面不用太擔心,這種計算不會很花時間 : 以我的筆電,比對 10,000 次花 0.3 秒而已。 如果是數百筆,然後每一筆都逐日筆對的話 時間好像就不小了.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.167.80
KC73:既然是連續的,就想像把日期填到日曆上,把第一週和最後一週 12/17 20:37
KC73:拿掉後,那些日子 /7*2 就是六、日的天數,再把第一週跟最後 12/17 20:38
KC73:一週加上去就好了。 12/17 20:38
KC73:第一行推文更正,填到月曆上。 12/17 20:39