Вниз
Скачать: CL | DM;

Как к "сейчас" прибавить время и вычислить новую дату и время?   Найти похожие ветки 

← →
hghhhJ   (2013-01-01 19:20) [0]

Здравствуйте!
С наступившим всех!

Подскажите, пожалуйста, как в Delphi, зная текущую дату и время (через функцию Now), прибавить к нему определенное число часов и минут, получить новые дату и время, а затем взять из этого значения отдельно саму дату и новое время???

Спасибо!


← →
Юрий Зотов ©   (2013-01-01 19:44) [1]

uses
 DateUtils;

var
 DT, D, T: TDateTime;

DT := Now;
DT := IncHour(D, 1);
DT := IncMinute(D, 30);
D := DateOf(DT);
T := TimeOf(DT);


← →
Dimka Maslov ©   (2013-01-01 20:06) [2]

Один час это 1/24 (одна двадцать четвёртая) суток. Одна минута это 1/1440 (одна тысяча четыреста сороковая). Время хранится как дробная часть вещественного числа.

D := Now + 1 / 24 + 30 / 1440; \\ Прибавили полтора часа


← →
hghhhJ   (2013-01-01 20:22) [3]

Спасибо!


← →
Очень злой   (2013-01-01 22:45) [4]


> зная текущую дату и время (через функцию Now), прибавить
> к нему определенное число часов и минут,


function GetNewDateTime(hour, min:integer);
begin
 sleep(hour*3600000+min*60000);
 Result:=now;
end;


:)


← →
Rouse_ ©   (2013-01-01 22:59) [5]

Есть множество нюансов :)
http://www.guildalfa.ru/alsha/node/7


← →
Sha ©   (2013-01-01 23:52) [6]

> Dimka Maslov ©   (01.01.13 20:06) [2]

за одно сложение будет точнее,
полтора часа или 90 минут - это конечная дробь (1/16)


← →
Dimka Maslov ©   (2013-01-02 12:49) [7]


> Sha ©   (01.01.13 23:52) [6]


Это только для примера. Сам я с этим типом не работаю, а предпочитаю получать дату и время напрямую при помощи соотв. функций WinAPI


← →
hghhhJ   (2013-01-09 20:28) [8]

Спасибо Всем!
В результате воспользовался алгоритмом Sha

за одно сложение будет точнее,
полтора часа или 90 минут - это конечная дробь (1/16)


т.к. алгоритм Dimka Maslov
давал погрешность ~2 мин. для одного вычисления


← →
Германн ©   (2013-01-10 02:09) [9]


> т.к. алгоритм Dimka Maslov
> давал погрешность ~2 мин. для одного вычисления
>

Интересно бы посмотреть, как вы тестировали сей "алгоритм"?
:)


← →
KilkennyCat ©   (2013-01-10 03:24) [10]

можно высчитать погрешность, не тестируя, ложный лишь последний знак.


← →
KilkennyCat ©   (2013-01-10 03:33) [11]

Теоретически, [2] имеет точность в 1 секунду. никак не 2 минуты.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.003 c
15-1364761592
TUser
2013-04-01 00:26
2013.09.22
Рисуем лошадь


1-1314366462
denkop
2011-08-26 17:47
2013.09.22
Как правильно вызвать метод класса из CallBack функции


15-1365908951
TUser
2013-04-14 07:09
2013.09.22
bormor о чиновниках


15-1365770544
O'ShinW
2013-04-12 16:42
2013.09.22
Oracle. Почему так заводится юзер?


2-1357143710
lamer6666
2013-01-02 20:21
2013.09.22
Визуализация занятости приложения.




   Наверх