如何测试两个dateTimes是同一个日期?

B. *_*non 45 c# datetime equality

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

我的这个代码:

public static string getLogFileNameForDate(DateTime dt)
{
    if (dt.Equals(DateTime.Now))
Run Code Online (Sandbox Code Playgroud)

...即使两个日期相同(日期)也会失败,因为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))
Run Code Online (Sandbox Code Playgroud)

......但这似乎有点像Jethro*

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

  • Clampett,不是Tull

Bra*_*don 109

尝试

if (dt.Date == DateTime.Now.Date)
Run Code Online (Sandbox Code Playgroud)

它只会占用日期部分,时间戳将是12:00:00

  • 我假设你也可以做`dt.date == DateTime.Today` (13认同)