台灣最大程式設計社群網站
線上人數
1379
 
會員總數:246690
討論主題:190103
歡迎您免費加入會員
討論區列表 >> C# >> 如何找出一年中所有週六和週日的日期
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何找出一年中所有週六和週日的日期
價值 : 30 QP  點閱數:1875 回應數:9
樓主

tom
門外漢
0 1
8 0
發送站內信




各位大大好

小弟現在有個需求 ,WINFORM的 畫面上有個TEXTBOX 可以讓使用者輸入年份
例如使用者 輸入 109 就找出 民國109年 所有的週六和週日的日期

顯示在DATAGRIDVIEW 上 並且寫入資料庫
小弟經驗還不太夠 不知道怎麼寫 請各位大大 幫幫小弟 感謝你們




搜尋相關Tags的文章: [ 日期 ] ,
本篇文章發表於2018-01-18 20:31
1樓
回應

小羊窒息
捐贈 VP 給 缺氧的羊:窒息 檢舉此回應
畫面拉好了嗎?

第一步,先從輸入年之後,找出【該年度1月1日是星期幾】開始

找出來之後,看距離星期六差幾天,

第一個星期六的日期就出來了(星期日就是日期再加1)
之後一直加7天
...
...
...
本篇文章回覆於2018-01-19 11:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
這不是很簡單??

先找出該年份的1/1是星期幾。
然後用1/1推算第一個星期六或日是幾號。
再將其+7A圈52次不就可以求出來了??
本篇文章回覆於2018-01-19 11:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小魚
檢舉此回應
可以使用WHILE判斷,
如果變成隔年就結束WHILE。
本篇文章回覆於2018-01-20 15:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

Steven
檢舉此回應
這樣應該就可以找出所有是禮拜六的日期


本篇文章回覆於2018-01-25 15:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

小魚
檢舉此回應
用365好像不是很好,
萬一今年是閏年呢?
本篇文章回覆於2018-01-25 19:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
確實用365天計算的確不是很好。我一般是用周期53週。
第53週會看看是否跨年了。
本篇文章回覆於2018-01-26 13:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Steven
檢舉此回應
感謝 浩瀚星空、小魚的指導
我忘記有閏年的可能性
上網查了一下 看到閏年的規則是 西元年 只要是4的倍數就會是閏年
所以我改了一下 上方的程式

本篇文章回覆於2018-01-26 13:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
最有價值解答

Always
檢舉此回應
建議增量改為7,可以減少迴圈數,用日期跑迴圈可以不用管平潤年天數

還有閏年的判斷為西元年:

可被4整除,但不可被100整除

可被400整除

維基: https://zh.wikipedia.org/wiki/%E9%97%B0%E5%B9%B4

以上給你參考
本篇文章回覆於2018-01-28 10:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

小魚
檢舉此回應
原來是這樣,
沒看過這個資料,
以前的印象都是4年就是閏年...
本篇文章回覆於2018-01-28 10:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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