看板 C_Sharp 關於我們 聯絡資訊
※ 引述《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
GoalBased: 抱歉,不太清楚你第一句話是甚麼意思 08/30 03:26
GoalBased: 另外我就是希望自己不用處理閏年那些問題 08/30 03:27
GoalBased: 所以才會請教有沒有這類的涵式可以使用的 08/30 03:27
GoalBased: 還有稍微看了一下你的code和我給的連結範例 08/30 03:29
GoalBased: 似乎不用while跑多次迴圈來處理是比較好(?) 08/30 03:29
GoalBased: 得做法吧(當下直覺),另外今天也請教了公司前輩 08/30 03:30
GoalBased: 他也是類似我貼的那個範例寫法,不過我還沒 08/30 03:30
GoalBased: 去仔細看邏輯就是了(這點非常抱歉) 08/30 03:31
GoalBased: 假日後我會看得 謝謝你的回覆 08/30 03:31
bleed1979: 第一句話意思在於程式可讀性,正確性和效能的trade off 08/30 07:03
bleed1979: 你的寫法減完後又做調整,不加註解很難看出調整的規則 08/30 07:05
bleed1979: 在效能上迴圈並不會跑太多次,現今處理速度不會慢。 08/30 07:06
bleed1979: 就正確性上來看,你的寫法測試就不曉得要多少個測資。 08/30 07:08
bleed1979: 才能保證是完全正確的,比如2/29和3/1還要想辦法生成。 08/30 07:09
GoalBased: 你說的我的些法是說我的連結還是範例呢 08/30 12:33
bleed1979: 應該是指你提供的解答,就是連結那個。 08/30 14:48
GoalBased: 好的,非常謝謝你,我會再研究一下的 08/30 15:44