1

2 つの日付を比較したい。1 つDateは SQL の列から取得され、現在のDateTime.Now. 前者には時間の部分がなく (技術的にはありますが、ゼロになっています)、もちろん後者には現在の時刻がミリ秒単位で表示されます。これが私が今行っていることであり、非効率的だと思われます:

DateTime compareDate = Convert.ToDateTime(string.Format("{0:M/d/yyyy}", DateTime.Now));
if (myObj.EndDate < compareDate)
{
    myObj.Status = "PAST";
}
else if (myObj.StartDate <= compareDate && myObj.EndDate >= compareDate)
{
    myObj.Status = "ACTIVE";
}
else
{
    myObj.Status = "PENDING";
}

DateTime 変数から時間を削除するより良い方法はありますか?

4

2 に答える 2

5

はい、DateTime構造体のDateプロパティを使用するか、DateTime.Todayを使用します

例えば

DateTime compareDate = DateTime.Now.Date

また

DateTime compareDate = DateTime.Today 
于 2012-08-29T18:21:45.083 に答える
1

時間を削除するDateTime変数のプロパティ「Date」を使用します。

var pureDate = DateTime.Now.Date;
于 2012-08-29T18:22:23.600 に答える