![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 MStone Lin ![]()
![]() |
依據我之前2個發問及回覆 1.未來3個月的星期五日期 http://www.blueshop.com.tw/board/show.asp?subcde=BRD20130726090050Z3A&fumcde=BRD20130726090050Z3A 2.每月的 單數週 的星期五 http://www.blueshop.com.tw/board/FUM200410061525290EW/BRD20130923105307NP6.html (2013正常,2014錯亂) 兩者如何合併啊?? 也就是要抓取 未來6個月內的 每月單數週 的星期五日期
搜尋相關Tags的文章:
[ 未來 單數週 星期五 ] ,
本篇文章發表於2014-01-21 15:47 |
1樓 |
add=abs(6-w)這邊需改一下
改成 add=6-w if add < 0 then add = add + 7 其它可以照舊 但,建議不要直接用365天下去算 不然碰到潤年可能會有問題 直接用year(), month()及"1"去組出每月1日的日期會比較好一點
本篇文章回覆於2014-01-21 16:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
MStone Lin ![]() |
回 老頑童
還是不行喔 1月正確,2、3月不正確、4月之後又正確... <% sdate=CDate("2014/1/1") 'sdate=date() for i=1 to 365 if (day(sdate)=1) then '判斷每月1日是星期幾 m=month(sdate) w=weekday(sdate) add=6-w if add < 0 then add = add + 7 for j=0 to 31 step 14 '每個月最多就31天 chdate=sdate+add+j if (m=month(chdate) and sdate <= dateadd("m",6,date()) ) then response.write chdate &"~"& dateadd("d",2,chdate) &"<Br>" end if next end if sdate=sdate+1 next %>
本篇文章回覆於2014-01-22 08:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
我執行你貼的Code,出來的結果是正確的呀(每月的第1, 3, 5個星期五)
2014/2/7~2014/2/9 2014/2/21~2014/2/23 2014/3/7~2014/3/9 2014/3/21~2014/3/23 還是說,你要的第一週,跟我們理解的並不一樣? 你要的第一週,該不會是指2月第一週? 也就是只有2014/2/1這天 而該週的星期五其實是2014/1/31 是這樣嗎?
本篇文章回覆於2014-01-22 10:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
MStone Lin ![]() |
回老頑童
是的~~ 2014/2/1、2014/3/1 都算第一週,該週的星期五其實是2014/1/31、2014/2/28 有辦法嗎?
本篇文章回覆於2014-01-24 08:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
作者回應
MStone Lin ![]() |
補充
不只2月、3月 11月也是
本篇文章回覆於2014-01-24 09:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
最有價值解答
老頑童 ![]() ![]() |
那就把if add < 0 then add = add + 7這行拿掉就行了
不過,由於後面還會判斷if (m=month(chdate) 因1/31不是在2月份,所以會被過濾掉 若你要顯示出來,就必須要拿掉月份限制 但拿掉月份限制後,計算1月第5週時會算到1/31 而2月第1週也會算到1/31,會出現重覆的情況 這部份就要看你的怎麼去取捨了
本篇文章回覆於2014-01-24 09:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |