Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как правильно выполнить сложение TDateTime

71K
16 июня 2011 года
step7
3 / / 16.06.2011
Добрый день!
Имеется следующая проблема:
переменная TDateTime TimeOfDay; // хранит в себе время (рабочее время на предприятии) типа hh:mm:ss
Таких переменных 30;
Как произвести сложение таких переменных и записать их в переменную SumTime например (время за месяц)
277
16 июня 2011 года
arrjj
1.7K / / 26.01.2011
SumTime=TimeOfDay1+TimeOfDay2+TimeOfDay3...?
справка есть жеш
71K
16 июня 2011 года
step7
3 / / 16.06.2011
Простое сложение тут работает некорректно (работает пока сума не достигнет 24 часа потом в сумме появляются дни , а мне нужно чтобы все было в часах и минутах да секундах)
33K
16 июня 2011 года
hivewarrior
205 / / 16.11.2010
TDateTime по сути число с плавающей точкой двойной точности, начиная с 1899 года вроде бы, где единица - один день (то есть 1 час равен 1/24 и так далее.) Фактичеси тебе нужна дробная часть. Дальше догадаешься сам, надеюсь.
71K
16 июня 2011 года
step7
3 / / 16.06.2011
я получаю ответ в форме dd:hh:mm:ss как дни сместить в часы и получить переменную в часах минутах и секундах.
277
16 июня 2011 года
arrjj
1.7K / / 26.01.2011
В справку походу даже не заглянули... :facepalm:
например можно так нагавнякать:
 
Код:
int msecs,seconds,hours,minutes,year,month,days;
SumTime.DecodeTime(&hours,&minutes,&seconds,&msecs);
SumTime.DecodeDate(&year,&month,&days);
hours+=days*24;
String a="";
a.printf("%d:%d:%d",hours,minutes,seconds);
ShowMessage(a);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог