Re: [請益] 計算扣掉六日的日期區間

看板PHP作者 (夏天到了,冷不起來了說)時間13年前 (2010/12/17 18:10), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串3/5 (看更多)
※ 引述《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

12/17 20:37, , 1F
既然是連續的,就想像把日期填到日曆上,把第一週和最後一週
12/17 20:37, 1F

12/17 20:38, , 2F
拿掉後,那些日子 /7*2 就是六、日的天數,再把第一週跟最後
12/17 20:38, 2F

12/17 20:38, , 3F
一週加上去就好了。
12/17 20:38, 3F

12/17 20:39, , 4F
第一行推文更正,填到月曆上。
12/17 20:39, 4F
文章代碼(AID): #1D2pS7A7 (PHP)
討論串 (同標題文章)
文章代碼(AID): #1D2pS7A7 (PHP)