|
#1
|
|||
|
|||
Дата
Помогите начинающему! Очень нужно!
Есть два компонента TDateTimePicker и три компонента TEdit, нужно по нажатию кнопки (или другого события, не важно) от одной даты вычесть другую и затем поместить в TEditы разницу: дней, месяцев, лет. Пробовал использовать функции ...between..., выдает допустим: 1095 (дней), 36(мес), 3(года), а мне в нормальном виде нужно! Помогите кто чем может бедному студенту, курсовая горит! |
#2
|
|||
|
|||
Я так понял тебе надо что бы выдало например
3 года 4 месяца 12 дней тогда делаешь так DeltaYears:=YearsBetween(DateTimePicker1.DateTime, DateTimePicker2.DateTime); DeltaMonth:=MonthsBetween(DateTimePicker1.DateTime ,DateTimePicker2.DateTime)- 12*DeltaYears; if DayOfTheMonth(DateTimePicker1.DateTime)>=DayOfTheM onth(DateTimePicker2.DateTime) then DeltaDays:=DayOfTheMonth(DateTimePicker1.DateTime) -DayOfTheMonth(DateTimePicker2.DateTime)) else DeltaDays:=DayOfTheMonth(DateTimePicker1.DateTime) -DayOfTheMonth(DateTimePicker2.DateTime)+DaysInMont h(DateTimePicker2.DateTime) |
#3
|
|||
|
|||
Спасибо!
Спасибо за внимание к моей просьбе, попробую и дам ответ.
Последний раз редактировалось Вован, 17.07.2006 в 13:26. |
#4
|
|||
|
|||
Попробовал использовать код, в целом всё хорошо, спасибо, но есть глюк: если между датами ровно год 16.07.2007 - 16.07.2006 то результат = 11 мес , последующие года нормально. Да, кстати нужно чтоб учитывало исходную дату т.е. 17.07.2006-16.07.2006 = 2 дня.
Как бы теперь сложить несколько пар дат, вот вопрос? Последний раз редактировалось Вован, 17.07.2006 в 13:29. |