Вниз
Скачать: 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.005 c
15-1365712202
Юрий
2013-04-12 00:30
2013.09.22
С днем рождения ! 12 апреля 2013 пятница


15-1365671316
ПЛОВ
2013-04-11 13:08
2013.09.22
UDF на Delphi, FireBird и NULL


2-1357505005
Mixasnt
2013-01-07 00:43
2013.09.22
не могу обработать одномерный массив введённый в едит.


15-1365732861
Kilkennycat
2013-04-12 06:14
2013.09.22
С днем космонавтики нас всех!


15-1365798603
Юрий
2013-04-13 00:30
2013.09.22
С днем рождения ! 13 апреля 2013 суббота




   Наверх