Показать сообщение отдельно
Старый 09.11.2006, 18:06   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от NJD Посмотреть сообщение
Есть 2 даты на входе. Нужно выводить разницу между ними в формате столько то лет, столько то месяцев, столько то дней. Никто не поделится? А то самому нет времени писать.
Писать ничего не надо, есть стандартные функции ядра по работе с интервалами дат (см., например, тут, раздел Interval):
X++:
date    d1 = str2date("1996.12.21", 321);
date    d2 = str2date("1994.11.18", 321);
;
info(strfmt("distance is %1 year(s), %2 month(s) and %3 day(s)",
            intvNo(d1, d2, IntvScale::Year), 
            intvNo(d1, d2, IntvScale::Month),
            intvNo(d1, d2, IntvScale::Day)));