C # Как вы вычисляете количество дней, используя месячный календарь в Windows Forms?

#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());
    }