78

mvc3 アプリケーションで null 非許容の datetime を作成するたびに、デフォルトで now() になります。現在の日付と現在の時刻です。時刻を午前 12 時として、デフォルトで今日の日付に設定したいと思います。

MVC の時刻をデフォルトに設定しようとしています...しかし...以下は今日の日付 @12am に設定されていません。代わりに、現在の日付と時刻の now にデフォルト設定されます。

private DateTime _Begin = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 12, 0, 0);
public DateTime Begin { get { return _Begin; } set { _Begin = value; } } 

null 非許容の日時の現在の日付を午前 12 時に設定するにはどうすればよいですか?

4

7 に答える 7

140

DateDateTime オブジェクトのプロパティを使用できます。

DateTime midnight = DateTime.Now.Date;

したがって、コード例は次のようになります

private DateTime _Begin = DateTime.Now.Date;
public DateTime Begin { get { return _Begin; } set { _Begin = value; } }

PS。時間を12に設定する元のコードに戻ると、現在の日の正午の時間が表示されるため、代わりに0 ...を使用できます。

var now = DateTime.Now;
new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);
于 2012-11-20T05:44:14.740 に答える
40

を探していると思いますDateTime.Today。ドキュメントには次のように記載されています。

時刻コンポーネントが 00:00:00 に設定された、今日の日付に設定されたオブジェクト。

http://msdn.microsoft.com/en-us/library/system.datetime.today.aspx

あなたのコードは

DateTime _Begin = DateTime.Today;
于 2012-11-20T05:45:37.327 に答える
-1

これを試して:

DateTime Date = DateTime.Now.AddHours(-DateTime.Now.Hour).AddMinutes(-DateTime.Now.Minute)
   .AddSeconds(-DateTime.Now.Second);

出力は次のようになります。

2015/07/29 00:00:00

于 2015-07-29T06:38:04.980 に答える