Текущий архив: 2003.04.03;
Скачать: CL | DM;
Внизtime ++ Найти похожие ветки
← →
race1 (2003-03-24 14:00) [0]получил проц-ой Time текущее время. как бы теперь к этому времени приплюсовать несколько секунд? пробовал так:
var
dt, dt1: TDateTime;
begin
dt := Time;
dt1 := dt + 0,00001
ко времени прибавляется секунда. но если попробовать прибавить число больше 0.00004, то наблюдаются глюки, а именно - приплюсовывается не 5, 6, 7 и т.д. секунд, а какое-то произвольное число...
← →
Anatoly Podgoretsky (2003-03-24 14:05) [1]В сутках 86400 секунд, теперь наверно сможешь вычислить чему равна одна секунда.
← →
KoluChi (2003-03-24 14:12) [2]DateTimeToTimeStamp()
TimeStampToMSecs()+N
MSecsToTimeStamp()
TimeStampToDateTime()
или
DecodeTime()
EncodeTime()
← →
Smithson (2003-03-24 14:19) [3]одна секунда = 1/86400, поскольку целые составляющие в TDateTime есть дни.
← →
Vadim_K (2003-03-24 14:23) [4]Дорогой коллега!
Глюки происходят от того, что Вы почему-то решили, что 0,00001 = 1 сек. На самом деле единица измерения чисел в формате TDateTime - это сутки, значит одна секунда составит:
1/24/3600 = 1,157407...e-5. При задаче точного значения никаких глюков не бывает!
Var s:Double;
dt, dt1: TDateTime;
begin
dt := Time;
S:=1/24/3600;
dt1 := dt + S*7 ;
Label1.Caption:=TimeToStr(dT1-Dt);
← →
REA (2003-03-24 15:05) [5]D7, DateUtils:
function IncSecond(const AValue: TDateTime;
const ANumberOfSeconds: Int64): TDateTime;
begin
Result := ((AValue * SecsPerDay) + ANumberOfSeconds) / SecsPerDay;
end;
← →
spogi (2003-03-24 23:43) [6]samiy lucshiy sposob DecodeTime() [EncodeTime()]
zadaesh:
var H,M,Sec,MSec:Word
DecodeTime(Now,H,M,Sec,MSec);
//Potom gde to zdes
Sec:=Sec+5; //dobavim 5 sekundov
EncodeTime() naoborot, tipa kompliruet time...
Страницы: 1 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.008 c