dün ve yarın tarih saat c #


101

Kodum var:

int MonthNow = System.DateTime.Now.Month;
int YearNow = System.DateTime.Now.Year;
int DayNow = System.DateTime.Now.Day;

C # ile dün ve yarın gün, ay ve yıla nasıl ulaşabilirim?

Tabii ki yazabilirim:

DayTommorow = DayNow +1;

ancak yarın başka bir ay veya yıl olabilir. Dün ve bugün öğrenmek için C # yerleşik araçlar var mı?


Sorun DayNow + 1ya - 1da ayın son günü bu alışkanlık iş ilk olup olmadığını olduğunu. DateTime.Now.Day sadece geçerli günün bir tamsayı temsilidir.
Gary.

Yanıtlar:


128

Bu bilgiyi doğrudan API referansında bulabilirsiniz .

var today = DateTime.Today;
var tomorrow = today.AddDays(1);
var yesterday = today.AddDays(-1);

28
Lütfen mümkünse, yalnızca web sitesine bağlantı vermek yerine, bağlantılı web sitesinin ilgili bölümünü
yayınlayın

JMax, Elbette. Bağlantı, gün eklemeye / çıkarmaya izin veren DateTime.AddDays Method içindir. Daha genel DateTime.Add yöntemine kıyasla, sorunun bağlamında kullanılması daha kolaydır.
Tabrez

5
... ve bu, cevabınızın ayrıntılı kısmı olabilir :).
C4d

160
DateTime tomorrow = DateTime.Today.AddDays(1);
DateTime yesterday = DateTime.Today.AddDays(-1);

11
Bu cevap, isimlendirmenin ne kadar önemli olduğunu kanıtlıyor.
eomeroff

17

Bugün :

DateTime.Today

Yarın :

DateTime.Today.AddDays(1)

Dün:

DateTime.Today.AddDays(-1)

16

Dün ve yarın 00:00:00 saatinde olsun istiyorsanız, bu şekilde yapmalısınız:

DateTime yesterday = DateTime.Today.AddDays(-1);
DateTime tomorrow = DateTime.Today.AddDays(1); // Output example: 6. 02. 2016 00:00:00

Bu şekilde yaparsanız şunu unutmayın:

DateTime yesterday = DateTime.Now.AddDays(-1);
DateTime tomorrow = DateTime.Now.AddDays(1); // Output example: 6. 02. 2016 18:09:23

o zaman geçerli saati eksi bir gün alırsınız ve dün 00:00:00 saatinde değil.




2

İşin püf noktası, tarihleri ​​değiştirmek için "DateTime" kullanmaktır; yalnızca tarihten itibaren "nihai sonuca" ihtiyacınız olduğunda tam sayıları ve dizeleri kullanın.

Örneğin (sözde kod):

  1. "DateTime yarın = Şimdi + 1" alın

  2. Ortaya çıkan tarihin tarihini, haftanın gününü, ayın gününü - ne isterseniz - belirleyin.


1

Dün UTC'de "yerel" almak için.

  var now = DateTime.Now;
  var yesterday = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0, DateTimeKind.Utc).AddDays(-1);

0

Sonuçlarınıza istenmeyen bir saat dilimi eklemekten kaçının, özellikle de tarih bir Web API aracılığıyla gönderilecekse. Bunun yerine, saat dilimini azaltmak için UtcNow'u kullanın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.