protected int DayDiff(DateTime dfrom,DateTime dto) { int day; day=DateTime.IsLeapYear(dfrom.Year)?366:365; if (dto.Year == dfrom.Year) return dto.DayOfYear - dfrom.DayOfYear; else if (dto.Year > dfrom.Year) return dto.DayOfYear - dfrom.DayOfYear + day; else return dto.DayOfYear - dfrom.DayOfYear - day; }
會這樣寫主要是要讓某些狀況下的結果是正確的,例如今天23:00跟明天01:00,應顯示差一天,這時 TimeSpan 求出來的結果就會是零天,還有順便加上閏年的判斷。因為需求關係,我這寫法沒有去判斷跨多年的情況,如果有需要的話再自行加上吧。
No comments:
Post a Comment