Jak odjąć rok od daty i godziny?


86

Jak odjąć rok od bieżącej daty i godziny przy użyciu języka C #?

Odpowiedzi:


189
var myDate = DateTime.Now;
var newDate = myDate.AddYears(-1);

Dzięki. Jeszcze jedno powiązane pytanie - jak odjąć tydzień?
Jango

40
DateTime oneYearAgoToday = DateTime.Now.AddYears(-1);

Odejmowanie tygodnia:

DateTime weekago = DateTime.Now.AddDays(-7);

8

Warto zauważyć, że zaakceptowana odpowiedź może skorygować datę o 365 dni lub 366 dni ze względu na lata przestępne (otrzymuje datę dla tego samego dnia miesiąca rok temu, z wyjątkiem 29 lutego, kiedy zwraca 28. Luty).

W większości przypadków jest to dokładnie to, czego chcesz, jednak jeśli traktujesz rok jako stałą jednostkę czasu (np . Rok juliański ), musisz odjąć od któregokolwiek z dni;

        var oneFullJulianYearAgo = DateTime.Now.AddDays(-365.25);

lub sekundy;

        var oneFullJulianYearAgo = DateTime.Now.AddSeconds(-31557600);
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.