C# 如何测试两个日期时间是否为同一日期?

C# 如何测试两个日期时间是否为同一日期?,c#,datetime,equality,C#,Datetime,Equality,可能重复: 我的这个代码: public static string getLogFileNameForDate(DateTime dt) { if (dt.Equals(DateTime.Now)) …即使两个日期相同(日期)也会失败,因为dt在启动时被分配了一个值(例如“6/18/2012 15:19:42”),因此日期并不完全相同,即使年、月和日是相同的(DateTime的值。现在可以说,“6/18/2012 15:30:13”) 我知道我可以用这种方法测试它: if ((dt

可能重复:

我的这个代码:

public static string getLogFileNameForDate(DateTime dt)
{
    if (dt.Equals(DateTime.Now))
…即使两个日期相同(日期)也会失败,因为dt在启动时被分配了一个值(例如“6/18/2012 15:19:42”),因此日期并不完全相同,即使年、月和日是相同的(DateTime的值。现在可以说,“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))
…但这似乎有点像Jethro*-就像

什么是公认/首选的方法(无双关语)

  • 克莱佩特,不是图尔
试试看

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

它只需要日期部分,时间戳是12:00:00

dt.date.CompareTo(DateTime.Now.date)==0就可以了。哦,还有@dash:看起来你需要一个神话般的“看双”徽章来对付你不断发现的这些骗局。我一直在问自己:“这些肯定不是原创问题”:-,OP get是一个答案,这很好,但另一方面,用相同的答案填充网站…我想你也可以做
dt.date==DateTime.Today