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

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

Сложение даты/времени [D5, D6, WinME, Win2k, WinXP]


DDDeN ©   (2004-07-19 11:57:00) 

Подскажите, плз, как сложить два времени и две даты (т.е мне надо чтобы к дате/времени прибавить определенное кол-во часов минут и секунд).


Alexander1966   (2004-07-21 11:10:00) [1]

Есть еще вариант:

const
 miliSecOfDay     =    86 400 000;  // милиCекунд в сутках
 miliSecOfHour    =     3 600 000;  // милиCекунд в часе
 miliSecOfMinute  =        60 000;  // милиCекунд в минуте

dt1:=DateTimeToTimeStamp(TimeStampToMSecs(Date1))

dt1:=dt1 + Day   *miliSecOfDay
        + Hour  *miliSecOfHour
        + Minute*miliSecOfMinute
        + Sec   *1000;

dt2:=MSecsToTimeStamp(TimeStampToDateTime(dt1));


DDDeN   (2004-07-21 07:17:00) [2]

Спасибо всем!
2 KADAN > EncodeTime помогло.

Решение:
Преобразовать части строковой даты и времени в их целые переменные. Затем преобразовать составляющие в TDateTime. И время, которое прибавляем преобразовать в эту же TDateTime. Затем прибавляем к одному второе и получаем результ.
Всем респект!


Anatoly Podgoretsky   (2004-07-20 08:47:00) [3]

DDDeN   (20.07.04 03:25) [11]
А в каком формате у тебя данные


DDDeN   (2004-07-20 05:27:00) [4]

Удалено модератором
Примечание: Создание пустых сообщений


DDDeN   (2004-07-20 03:25:00) [5]

2 Anatoly Podgoretsky

При помощи EncodeTime?


Anatoly Podgoretsky   (2004-07-19 19:43:00) [6]

Превратить оба параметра в TDateTime и сложить


DDDeN   (2004-07-19 18:31:00) [7]

Ребята, такая тема, пишу конвертер ДЕКТа. В текстовом файле есть дата и время начала разговора DD/MM/YY HH:MM. И есть длительность соединения HH:MM:SS. Надо получить дату и время окончания разговора. Как, плз??? Преобразовать дату к виду DD.MM.YYYY без Б. А как саму тему???


lexus3d   (2004-07-19 15:16:00) [8]

Да кстати если к переменной типа Дата прибавить 1 то получишь следующий день!


lexus3d   (2004-07-19 15:12:00) [9]

Я делал что то подобное, но у меня интервал дат был
kol_day:=Stop_Data-Start_Data;
где kol_day:double, кстати сама TDateTime это тот же тип double... делай выводы  и пробуй


Анонимщик   (2004-07-19 13:22:00) [10]

Можно, например, IncMilliSecond.
А можно и совсем вручную. Посмотри, как хранятся в формате TDateTime (Double) время и дата, и вобще тогда делай что хочешь.


KADAN   (2004-07-19 12:55:00) [11]

посмотри функции EncodeTime и EncodeDate - поймешь принцип


Суслик   (2004-07-19 12:25:00) [12]


> VMcL ©   (19.07.04 12:23) [3]

блин, стандартная очепятка :(((((


VMcL   (2004-07-19 12:23:00) [13]

>>Суслик ©  (19.07.04 11:59) [1]

Dat eUtils


Anatoly Podgoretsky   (2004-07-19 12:19:00) [14]

DDDeN   (19.07.04 11:57)  
По вопросу у тебя не получается сложения дат, у тебя сложение даты и разницы, так можно, просто прибавляй.
А вот складывать две даты смысла нет, например

1.01.2004 + 1.01.2004 = 2.02.4008


Суслик   (2004-07-19 11:59:00) [15]

функции

incyear
incday

и т.д.

из модуля datautils


Наверх

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