Количество календарных дней в календаре VB.NET
Я разработал программу, в которой у меня есть два текстовых поля с именами дата начала и дата окончания. Другое текстовое поле предназначено для общего количества дней. Пользователь выбрал начало в календаре, а также дату окончания. Мне нужно, чтобы система рассчитывала количество дней на основе выбора из календаря. У меня есть код, который я пробовал, но не работает должным образом. Например, если событие происходит в течение одного дня (скажем, с 17 мая 2020 года по 17 мая 2020 года), то общее количество дней будет равно нулю вместо одного. Я приложил код, который попробовал.
Что я уже пробовал:
Dim dt1 As DateTime = Convert.ToDateTime(DateTimePicker1.Text) Dim dt2 As DateTime = Convert.ToDateTime(DateTimePicker2.Text) Dim ts As TimeSpan = dt2.Subtract(dt1) If Convert.ToInt32(ts.Days) >= 0 Then txtDays.Text = Convert.ToInt32(ts.Days) Else MessageBox.Show("Start date cannot be older than end date", "Invalid Input", MessageBoxButtons.OK, MessageBoxIcon.Error) End If
Richard MacCutchan
Это верно, есть нулевые дни между 17 мая и 17 мая. Если вы хотите включить первый (или последний) день, то добавьте 1 к общей сумме. Также не используйте Convert.ToInt32
везде, особенно для значений, которые уже являются целочисленными типами.
NyikoB
Спасибо он работает просто добавив 1