Re: [問題] 日期相減取年月日

看板C_Sharp (C#)作者 (十三)時間11年前 (2014/08/30 00:55), 編輯推噓3(3014)
留言17則, 2人參與, 最新討論串1/1
※ 引述《GoalBased (Artificail Intelligence)》之銘言: : 想請問一下 : 有沒有這一類的函示可以用 : ex : 日期1 : 2014/08/29 : 日期2 : 2013/08/29 : 日期1 - 日期2 = 1年 0月 0日 : -------------------------------------- : 日期1 : 2014/08/29 : 日期2 : 2013/08/30 : 日期1 - 日期2 = 0年 11月 29日(日這邊可能不太精準,但就是這個意思) : 謝謝大家 你確定不用這種寫法嗎? 把閏年那些有的沒的交給語言: while(birthDate.Date.AddYears(1) <= endDate.Date) { birthDate = birthDate.Date.AddYears(1); years += 1; } while (birthDate.Date.AddMonths(1) <= endDate.Date) { birthDate = birthDate.Date.AddMonths(1); months += 1; } while (birthDate.Date.AddDays(1) <= endDate.Date) { birthDate = birthDate.Date.AddDays(1); days += 1; } 例外那些沿用原來的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.203.156 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1409331359.A.F38.html

08/30 03:26, , 1F
抱歉,不太清楚你第一句話是甚麼意思
08/30 03:26, 1F

08/30 03:27, , 2F
另外我就是希望自己不用處理閏年那些問題
08/30 03:27, 2F

08/30 03:27, , 3F
所以才會請教有沒有這類的涵式可以使用的
08/30 03:27, 3F

08/30 03:29, , 4F
還有稍微看了一下你的code和我給的連結範例
08/30 03:29, 4F

08/30 03:29, , 5F
似乎不用while跑多次迴圈來處理是比較好(?)
08/30 03:29, 5F

08/30 03:30, , 6F
得做法吧(當下直覺),另外今天也請教了公司前輩
08/30 03:30, 6F

08/30 03:30, , 7F
他也是類似我貼的那個範例寫法,不過我還沒
08/30 03:30, 7F

08/30 03:31, , 8F
去仔細看邏輯就是了(這點非常抱歉)
08/30 03:31, 8F

08/30 03:31, , 9F
假日後我會看得 謝謝你的回覆
08/30 03:31, 9F

08/30 07:03, , 10F
第一句話意思在於程式可讀性,正確性和效能的trade off
08/30 07:03, 10F

08/30 07:05, , 11F
你的寫法減完後又做調整,不加註解很難看出調整的規則
08/30 07:05, 11F

08/30 07:06, , 12F
在效能上迴圈並不會跑太多次,現今處理速度不會慢。
08/30 07:06, 12F

08/30 07:08, , 13F
就正確性上來看,你的寫法測試就不曉得要多少個測資。
08/30 07:08, 13F

08/30 07:09, , 14F
才能保證是完全正確的,比如2/29和3/1還要想辦法生成。
08/30 07:09, 14F

08/30 12:33, , 15F
你說的我的些法是說我的連結還是範例呢
08/30 12:33, 15F

08/30 14:48, , 16F
應該是指你提供的解答,就是連結那個。
08/30 14:48, 16F

08/30 15:44, , 17F
好的,非常謝謝你,我會再研究一下的
08/30 15:44, 17F
文章代碼(AID): #1K0B2Vyu (C_Sharp)
文章代碼(AID): #1K0B2Vyu (C_Sharp)