![]() |
#8 |
Участник
|
Цитата:
Сообщение от mazzy
![]() Но если надо учитывать полные месяцы, то опять же лучше избегать вычисления разницы между датами. сделать так: X++: { Date dateFrom = 01\06\1995; Date dateTo = 01\04\2008; int years = year(dateTo) - year(dateFrom); int month = mthofyr(DateTo) - mthofYr(dateFrom); int month_correction = dayofmth(DateFrom) > dayofmth(DateTo) ? sign(DateFrom - DateTo) : 0; return ((years * 12) + month + month_correction; } X++: { Date dateFrom = 01\06\1995; Date dateTo = 01\04\2008; int years = year(dateTo) - year(dateFrom); int month = mthofyr(DateTo) - mthofYr(dateFrom); int month_correction = (DateFrom == DateTo) ? 0 : (dayofmth(DateFrom) > dayofmth(DateTo) ? sign(DateFrom - DateTo) : 0); return ((years * 12) + month + month_correction; } |
|
Теги |
дата |
|
|