Saya punya kode:
int MonthNow = System.DateTime.Now.Month;
int YearNow = System.DateTime.Now.Year;
int DayNow = System.DateTime.Now.Day;
Bagaimana saya bisa mendapatkan kemarin dan besok hari, bulan dan tahun di C #?
Tentu saja, saya bisa menulis:
DayTommorow = DayNow +1;
tetapi mungkin saja besok adalah bulan atau tahun lain. Apakah ada alat bawaan C # untuk mencari tahu kemarin dan hari ini?
DayNow + 1
atau- 1
adalah jika ini adalah hari pertama dari hari terakhir bulan ini tidak akan berhasil. DateTime.Now.Day hanyalah representasi integer dari hari ini.Jawaban:
Anda dapat menemukan info ini langsung di referensi API .
sumber
sumber
Hari ini:
DateTime.Today
Besok:
Kemarin:
sumber
Anda harus melakukannya dengan cara ini, jika Anda ingin mendapatkannya kemarin dan besok pada pukul 00:00:00:
Ingatlah bahwa jika Anda melakukannya dengan cara ini:
maka Anda akan mendapatkan waktu saat ini dikurangi satu hari, dan bukan kemarin pada jam 00:00:00.
sumber
Kamu mau
DateTime.Today.AddDays(1)
.sumber
Gunakan
DateTime.AddDays()
( Metode DateTime.AddDays Dokumentasi MSDN ).sumber
Triknya adalah dengan menggunakan "DateTime" untuk memanipulasi tanggal; hanya gunakan bilangan bulat dan string jika Anda membutuhkan "hasil akhir" dari tanggal tersebut.
Misalnya (kode semu):
Dapatkan "DateTime besok = Sekarang + 1"
Tentukan tanggal, hari dalam seminggu, hari dalam sebulan - apa pun yang Anda inginkan - dari tanggal yang dihasilkan.
sumber
Untuk mendapatkan "lokal" kemarin di UTC.
sumber
Berhati-hatilah dalam menambahkan zona waktu yang tidak diinginkan ke hasil Anda, terutama jika tanggal tersebut akan dikirim melalui API Web. Gunakan UtcNow sebagai gantinya, untuk membuatnya tanpa zona waktu.
sumber