2012-06-18 11 views
27

संभव डुप्लिकेट:
How to compare Dates in C#एक ही तारीख होने के लिए दो दिनांक समय का परीक्षण कैसे करें?

मेरा यह कोड:

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

... यहां तक ​​कि विफल रहता है जब दो तिथियों के समान (तारीख) कर रहे हैं क्योंकि डीटी है स्टार्टअप पर एक मान असाइन किया गया (उदाहरण के लिए "6/18/2012 15:19:42"), और इसलिए तिथियां बिल्कुल समान नहीं हैं, भले ही वर्ष, महीना और दिन समान हों (दिनांक समय का मूल्य हो सकता है, कहो, "6/18/2012 15:30:13")।

मैं जानता हूँ कि मैं इसे इस तरह से परीक्षण कर सकते हैं:

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

... लेकिन यह है कि

क्या स्वीकार किए जाते हैं/पसंदीदा तरीका (कोई यमक इरादा) है की तरह एक सा जेथ्रो * लगता है?

  • Clampett, नहीं टुल
+1

dt.Date.CompareTo हो जाएगा (डेटटाइम.अब.डेट) == 0 चाल चलाना चाहिए। – dash

+2

ओह, और http://stackoverflow.com/questions/683037/how-to-compare-dates-in-c-sharp – dash

+0

@ डैश: ऐसा लगता है कि आपको इन डुप्लिकेट के लिए पौराणिक "डबलिंग डबल" बैज की आवश्यकता है । –

उत्तर

76

प्रयास करें

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

यह केवल तारीख भाग ले जाएगा और टाइमस्टैम्प 12:00:00

+7

मुझे लगता है आप 'dt.date == DateTime.Today' भी कर सकते हैं – Rippo

संबंधित मुद्दे