1. ホーム
  2. c#

現在の時刻を午前0時に設定する方法は?

2023-07-24 05:18:17

質問

私のmvc3アプリケーションでnullableでないdatetimeを作成するたびに、now()が現在の日付と現在の時刻になるようにデフォルトで設定されます。 私はそれを今日の日付と午前12時の時間としてデフォルトにしたいと思います。

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

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でないdatetimeで、現在の日付を午前12時に設定するにはどうしたらよいですか?

どのように解決するのですか?

を使用することができます。 Date プロパティを使うことができます。

DateTime midnight = DateTime.Now.Date;

というわけで、コード例は次のようになります。

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

追記:元のコードに戻り、時間を 12 に設定すると 正午 を返すので、代わりに 0 ...

var now = DateTime.Now;
new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);