Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

суммирование времени


syte_ser78 ©   (2006-05-30 08:44:00) 

Как выполнить сабж?

Допустим есть переменная
allTime :TDateTime

хранящая значение 23:50:10

прибавляем значение 1:00:00 получаем - 0:50:10 а хотелось бы или 24:50:10 или 1 0:50:10


syte_ser78   (2006-05-30 10:23:00) [1]

ЮЮ ©   (30.05.06 9:51) [4]
Большое спасибо!


ЮЮ   (2006-05-30 09:51:00) [2]

для второго типа

Result := TimeToStr(allTime);
if  allTime > 1 then
 Result := FloatToStr(Int(allTime )) + ' ' +  Result;

для первого типа разложить время на составляющие (DecodeTime)  получить часы, как сутки * 24 * часы и вывести часы минути и секунду в нужном виде


syte_ser78   (2006-05-30 09:33:00) [3]

делаю TimeToStr(allTime)
получаю 0:50:10

делаю DateTimeToStr(allTime)
получаю 1:1:1900 0:50:10


SergP   (2006-05-30 09:08:00) [4]


> хранящая значение 23:50:10
>
> прибавляем значение 1:00:00 получаем - 0:50:10


с чего ты это взял?


> а хотелось бы или 24:50:10 или 1 0:50:10


Ну это зависит от того как ты TDateTime в строку преобразовываешь...


ЮЮ   (2006-05-30 09:02:00) [5]

хотелось бы или 24:50:10

25 часов в сутках что ли?

или 1 0:50:10

а с чего ты взял, что 1 там нет?
TDateTime = вешественное число в формате  <число дней>.<часть суток>

З.Ы. как выведешь, так и покажет, хоть и  24:50:10


Наверх

Титульная страница Поиск, карта сайта Написать письмо