Одно очко отыграли :
Петрову И. отбой. КДС оказался умен - мс в сек преобразовывает.DATE := DATE + TIME нормально преобразовать со скрытым преобразованием мсек в сек, это вопрос к Петрову И.
И потому приходится извращатся типа :
DATE := DATE + dword_to_time( time_to_dword( TIME ) / 1000 );
DATE := DATE + dword_to_time( time_to_dword( TIME ));
а значит просто
DATE := DATE + TIME; Работает. Только мс. теряет.
и Ваше
Заменяется на :dat := DWORD_TO_DATE(DATE_TO_DWORD( dat) + 86400);
dat := dat + T#1d;
Что же касается DATE + DATE
Это скорее философия. Между датами есть интервал. ( в сек)
И DATE1 минус DATE2 - имеет смысл. т.к. результат - интервал. (в сек)
А вот DATE1 + DATE2 - бессмысленно в принципе т.к. дата - точка осчета. а время - интервал.
Интервал можно умножить, разделить и др..
а дату нельзя. т.к. конечной результат будет зависеть от начальной точки.
толи Р.Х. , то ли 1970-1-1-1, толи 1961-4-12




