int CountDay = DaysBetween(dtBegin->Date,dtEnd->Date);
lbCountDay->Caption = "Прошло "+IntToStr(CountDay)+" дней";
Как в строку передать разницу дат?
проблема в том что разница TDateTime передается в строку ввиде даты, а необходимо кол-во дней
Цитата:
On 2001-12-11 2018, kot_ wrote
Существуют ли стандартные решения по сабжу?
проблема в том что разница TDateTime передается в строку ввиде даты, а необходимо кол-во дней
Вообще-то, TDateTime уже представляет собой число с плавающей точкой, где целая часть содержит число дней, отсчитанное от 0 часов 12/30/1899 года, а дробная часть равна части 24-часового дня.
Или можно выбрать из структуры TTimeStamp, там есть поле int Date - число дней от начала календаря - 1-го дня 1-го года.
Выбирай из того или другого.
проблема в том что разница TDateTime передается в строку ввиде даты, а необходимо кол-во дней[/QUOTE]
Так сказать "Привед медвед".
Приятно ответить на свое сообщение спустя так лет пять спустя. :) Ну вобщем то существуют. И существовали на то время. Внимательно прочев справку и просмотрев исходники (работа с флоат-числом прикольна но не очень удобна) - выяснилось простая вещь - что люди и до меня решали эти задачи - и решают успешно :) Это так сказать закрытие темы - на осознание данного факта тогда у меня ушло неделя - в конечном итоге вылившееся в простой код:
Код:
А совет данный мне в форуме я тоже использовал - только не в такой фигне - потому как по производительности при определенном навыке библиотечная функция всеравно выигрывает.
З.Ы. Ищите. И используйте Ф1 при необходимости.