64

重複の可能性:
C# で日付を比較する方法

私のこのコード:

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

...起動時に dt に値が割り当てられるため (日付)、2 つの日付が同じ (日付) の場合でも失敗します (たとえば、「2012 年 6 月 18 日 15:19:42」)。ただし、年、月、日は同じです (DateTime.Now の値は、たとえば「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))

...しかし、それは少し Jethro* のように思えます

受け入れられている/推奨される方法は何ですか (しゃれは意図されていません)?

  • タルじゃなくてクランペット
4

1 に答える 1

142

試す

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

日付部分のみを取得し、タイムスタンプは 12:00:00 になります

于 2012-06-18T22:32:24.887 に答える