Bagaimana cara mengurangi satu tahun dari datetime?


86

Bagaimana cara mengurangi satu tahun dari waktu saat ini menggunakan c #?

Jawaban:


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

Terima kasih. Satu sama lain pertanyaan terkait - bagaimana cara mengurangi minggu?
Jango

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

Mengurangi seminggu:

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

8

Mungkin perlu dicatat bahwa jawaban yang diterima dapat menyesuaikan tanggal baik 365 hari atau 366 hari karena tahun kabisat (mendapat tanggal untuk hari yang sama di bulan satu tahun lalu, dengan pengecualian 29 Februari di mana ia mengembalikan 28 Februari).

Dalam sebagian besar kasus, ini persis seperti yang Anda inginkan, namun jika Anda memperlakukan satu tahun sebagai unit waktu tetap (misalnya tahun Julian ) maka Anda perlu mengurangi dari kedua hari tersebut;

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

atau detik;

        var oneFullJulianYearAgo = DateTime.Now.AddSeconds(-31557600);
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.