状況は次のとおりです。
ログビューアに開始日と終了日の2つのDateTimePickerコントロールがあります。開始日はユーザーが選択したものにしたいのですが、時刻は00:00:00です。終了時刻はユーザーが選択した日付ですが、23:59:59.999の時刻です。
(終了日が開始日以上であることを確認するコードも記述しますが、それを処理できます)
これを実装するための最良の方法は何ですか?
状況は次のとおりです。
ログビューアに開始日と終了日の2つのDateTimePickerコントロールがあります。開始日はユーザーが選択したものにしたいのですが、時刻は00:00:00です。終了時刻はユーザーが選択した日付ですが、23:59:59.999の時刻です。
(終了日が開始日以上であることを確認するコードも記述しますが、それを処理できます)
これを実装するための最良の方法は何ですか?
DateTime.Dateを使用してDTPから取得する日付の時間部分は無視してください。このような:
private void btnOK_Click(object sender, EventArgs e) {
var start = dtpStart.Value.Date;
var end = dtpEnd.Value.Date.AddDays(1).AddMilliseconds(-1);
if (end > start) {
// etc...
}
}
DateTimePickerの代わりにDatePickerを使用するか、変更イベントをサブスクライブして、値が変更されるたびに必要な時間を強制します。