1. ホーム
  2. .net

[解決済み] DateTimeで最新の時刻を指定する方法

2023-04-14 01:08:30

質問

私は System.DateTime オブジェクトを使用して、ユーザーが日付の範囲を選択できるようにしています。ユーザーはサードパーティのカレンダーを使用して日付 (時刻ではない) を選択することしかできないため、日付が選択された後に、使用する時刻 (たとえば 00:00:00 または 23:59:59) を自動的に指定する必要があります。

カレンダーセレクタによって日付が DateTime オブジェクトとして保存された後、時刻を指定するにはどうしたらよいでしょうか。私は AddHours, AddMinutes, AddSeconds メソッドを使用することもできますが、これらは現在の時刻からの相対的なものであり、00:00:00 でない可能性があります。

startDate は 00:00:00 の時刻を持つ必要があり endDate の時刻は 23:59:59 である必要があります。

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

すでに DateTime オブジェクトが作成されていて、時刻をその指定された日付の 11:59:59PM に置き換えたい場合、次のようにします。 .Date プロパティを使って時間を 00:00:00 に設定した日付を取得し、 時間、分、秒を追加します。例えば

var dt = yourDateInstance.Date.AddHours(23).AddMinutes(59).AddSeconds(59);

最新時刻というのが、午後11時59分59秒という意味であれば、これもうまくいくはずです。

var dt = new DateTime(Now.Year, Now.Month, Now.Day, 23, 59, 59);