2012-06-18 31 views
27

可能重複:
How to compare Dates in C#如何測試兩個datetime是同一日期?

我這個代碼:

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

...甚至失敗時,兩個日期是相同的(日期),因爲DT是在啓動時分配一個值(例如「2012年6月18日15:19:42」),所以日期不完全相同,即使年份,月份和日期相同(DateTime的值現在可能是,例如「2012年6月18日15:30:13」)。

我知道我可以測試這種方式:

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

...但似乎有點忒*般

什麼是接受/首選方法(沒有雙關語意)?

  • Clampett,不Tull的
+1

dt.Date.CompareTo( DateTime.Now.Date)== 0應該做的伎倆。 – dash

+2

哦,和http://stackoverflow.com/questions/683037/how-to-compare-dates-in-c-sharp – dash

+0

@dash:看起來像你需要神話般的「看到雙」徽章爲你繼續找到這些騙局。 –

回答

76

嘗試

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

雖然這會花的時間部分和時間戳將12:00:00

+7

我假設你也可以做'dt.date == DateTime.Today' – Rippo

相關問題