DateTime
是不可改變的 - 當你調用Subtract
它不會改變調用的目標,它回報一個新值:
DateTime previousDay = new DateTime(year, month, day);
string test1 = previousDay.ToString();
previousDay = previousDay.Subtract(new TimeSpan(1, 0, 0, 0));
string test2 = previousDay.ToString();
previousDay = previousDay.Subtract(new TimeSpan(1, 0, 0, 0));
string test3 = previousDay.ToString();
雖然我使用-
運營商,並TimeSpan.FromDays
:
DateTime previousDay = new DateTime(year, month, day);
string test1 = previousDay.ToString();
previousDay = previousDay - TimeSpan.FromDays(1);
string test2 = previousDay.ToString();
previousDay = previousDay - TimeSpan.FromDays(1);
string test3 = previousDay.ToString();
或者更好的是,使用AddDays
:
DateTime previousDay = new DateTime(year, month, day);
string test1 = previousDay.ToString();
previousDay = previousDay.AddDays(-1);
string test2 = previousDay.ToString();
previousDay = previousDay.AddDays(-1);
string test3 = previousDay.ToString();
甚至更好,但使用Noda Time :)
LocalDate date = new LocalDate(year, month, day);
string test1 = previousDay.ToString();
date = date.PlusDays(-1);
string test2 = previousDay.ToString();
date = date.PlusDays(-1);
string test3 = previousDay.ToString();
或者:
LocalDate date = new LocalDate(year, month, day);
string test1 = previousDay.ToString();
date = date + Period.FromDays(-1);
string test2 = previousDay.ToString();
date = date + Period.FromDays(-1);
string test3 = previousDay.ToString();
嗯,我說,這是可能明顯對大多數人來說!感謝這樣一個完整的答案! – CompanyDroneFromSector7G 2012-02-07 11:30:47
@bukko請將上面的帖子設置爲「答案」 – fizzbuzz 2012-02-07 11:36:42
@hotadvice我試過 - 有一段時間延遲。有耐心! – CompanyDroneFromSector7G 2012-02-07 11:48:06