2012-06-18 12 views
27

Olası Çoğalt: madeninin
How to compare Dates in C#Aynı tarih için iki dateTimes nasıl test edilir?

Bu kod: İki tarih aynı (tarih) olduğunda dt çünkü

public static string getLogFileNameForDate(DateTime dt) 
{ 
    if (dt.Equals(DateTime.Now)) 

... hatta başarısız başlangıçta bir değer atandı (ör. "6/18/2012 15:19:42"), tarih, yıl, ay ve gün aynı olsa da tarihler tam olarak aynı değil (DateTime değeri) .Şimdi, "6/18/2012 15:30:13") olabilir.

if ((dt.Year.Equals(DateTime.Now.Year) && (dt.Month.Equals(DateTime.Now.Month) && (dt.Day.Equals(DateTime.Now.Day)) 

... ama bu

kabul/tercih edilen yöntem (hayır cinas tasarlamak) nedir

benzeri biraz Jethro * görünüyor:

Ben bu şekilde test edebilirsiniz biliyor musunuz?

  • Clampett değil Tull
+1

dt.Date.CompareTo olacak DateTime.Now.Date) == 0 hile yapmalı. – dash

+2

Oh ve http://stackoverflow.com/questions/683037/how-to-compare-dates-in-c-sharp – dash

+0

@dash: Bu dupes efsanevi "Görme Çift" rozeti gerekir gibi bulgu tutmak görünüyor . –

cevap

76

(

if (dt.Date == DateTime.Now.Date) 

Sadece tarih bölümünü alacak Deneyin ve zaman damgası 12:00:00

+7

Ayrıca dt.date == DateTime.Today' da yapabilirsiniz – Rippo

İlgili konular