台灣最大程式設計社群網站
線上人數
1084
 
會員總數:246268
討論主題:189809
歡迎您免費加入會員
討論區列表 >> ASP >> 抓取 未來6個月內的 單數週 的星期五日期
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
抓取 未來6個月內的 單數週 的星期五日期
價值 : 50 QP  點閱數:967 回應數:6
樓主

MStone Lin
門外漢
0 101
1986 134
發送站內信

請問

依據我之前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樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
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樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
我執行你貼的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樓
最有價值解答

老頑童
捐贈 VP 給 老頑童 檢舉此回應
那就把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
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.