#c# #winforms #visual-studio-2010 #calendar #timespan
#c# #winforms #visual-studio-2010 #Календарь #промежуток времени
Вопрос:
Я использую Visual C # 2010 Express для создания формы, в которой пользователь выбирает тип автомобиля (компактный, стандартный, роскошный) и дату в календаре, на какой срок он собирается его арендовать. Кажется, я не могу понять, как рассчитать количество дней, чтобы найти общую стоимость.
Я пытался NumberDays = (Calendar.SelectionEnd - Calendar.SelectionStart);
но я получаю сообщение об ошибке «Не удается неявно преобразовать тип ‘SystemTimeSpan’ в ‘int'»
Я также пытался сделать сегодняшнюю дату начальной, а выделение в календаре конечной датой, но я не уверен, как вычислить общее количество дней и для этого.
Любая помощь была бы очень признательна.
Ответ №1:
Используйте
NumberDays = (Calendar.SelectionEnd - Calendar.SelectionStart).TotalDays;
Комментарии:
1.
TotalDays
это double, вам нужно как-то преобразовать его в int (Math.Ceiling
кажется хорошим вариантом в этом случае)
Ответ №2:
DateTime dt1 = DateTime.Parse("5/1/2011");
DateTime dt2 = DateTime.Parse("5/14/2011");
private void button1_Click(object sender, EventArgs e)
{
int NumberDays = (int) dt2.Subtract(dt1).TotalDays;
MessageBox.Show(NumberDays.ToString());
}