Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.22;
Скачать: 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 вся ветка

Текущий архив: 2013.09.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
11-1248204990
Ruzzz
2009-07-21 23:36
2013.09.22
Использование AppletTerminated, цель этой переменной?


2-1357053624
hghhhJ
2013-01-01 19:20
2013.09.22
Как к "сейчас" прибавить время и вычислить новую дату и время?


1-1266331114
sniknik
2010-02-16 17:38
2013.09.22
Печать RTF (RichView ? другое ?)


15-1365495258
alexdn
2013-04-09 12:14
2013.09.22
Похоже полетел картридж


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