Md M Ahmad Ответов: 2

Расчет даты частично.


Я пишу некоторый код для вычисления двух дат в четырех частях в виде лет, месяцев, недель и дней, а именно; если чей-то DOB составляет 15-12-1988,я хочу показать это как 30 лет, 2 месяца, 1 день. Он не реагирует должным образом. Пожалуйста, предоставьте мне несколько других кодов, чтобы решить эту проблему

Что я уже пробовал:

double months;
     double years;
     //double weeks;
     double days;
     DateTime inTime = Convert.ToDateTime(dateTimePicker1.Text);
     DateTime outTime = Convert.ToDateTime(dateTimePicker2.Text);
     if (outTime >= inTime)
     {
         textBox3.Text = outTime.Subtract(inTime).Days.ToString() + " days ";

         years = (outTime - inTime).Days / 365;
         months = (outTime - inTime).Days / 12;
         days = (outTime - inTime).Days / 30;
         textBox2.Text = Convert.ToInt32(years).ToString() + " Years," + Convert.ToInt32(months).ToString() + " Months," + Convert.ToInt32(days).ToString() + " Days" ;


     }

2 Ответов

Рейтинг:
1

Richard MacCutchan

Почему вы используете текстовое поле из datetimepickers, которое затем нужно преобразовать в значения DateTime? В первую очередь используйте свойство Value. Вам также не нужны все эти расчеты, так как Период Структуры (Система) | Майкрософт Документы[^] может обеспечить их автоматически. См. ответ OriginalGriff выше.