64

可能重复:
如何在 C# 中比较日期

我的这段代码:

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

...即使两个日期相同(日期)也会失败,因为 dt 在启动时被分配了一个值(例如“6/18/2012 15:19:42”),因此日期不完全相同,即使尽管年、月和日相同(DateTime.Now 的值可能是“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*

什么是接受/首选的方法(没有双关语)?

  • 克兰佩特,不是图尔
4

1 回答 1

142

尝试

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

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

于 2012-06-18T22:32:24.887 回答