![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование времени [D7, Win2k]
r9000 © (2004-08-16 09:44:00)Добрый день!
Не могли бы вы помочь? Существуют ли такие функции или как можно преобразовать дату и время(с точностью до секунды или милисекунды) в одно число, чтобы по истечению какого-то интервала времени опять получить какое-то преобразованное число и отняв от него первое число узнать промежуток времени события с точночтью до секунды или милисекунды?
Заранее спасибо
r9000 (2004-08-19 11:23:00) [1]Спасибо всем!
Skyle (2004-08-19 06:35:00) [2]
> [16] r9000 (19.08.04 06:12)
А как больше нравится? Round, Trunc, Floor...
r9000 (2004-08-19 06:12:00) [3]seconds := (Now - d)*86400-это получается тип real, а как его преобразовать в integer?
Labert (2004-08-16 11:45:00) [4]type TDateTime = type Double;
The integral part of a TDateTime value is the number of days that have passed since 12/30/1899. The fractional part of a TDateTime value is fraction of a 24 hour day that has elapsed.
Рамиль (2004-08-16 11:40:00) [5]Ты прочитать можешь вниманительно, что тебе написали?
var
d: TDateTime;
seconds: inetger;
...
d := Now;
...
seconds := (Now - d)*86400;
simpson (2004-08-16 11:39:00) [6]> r9000 (16.08.04 11:20) [11]
,
DecodeDateTime(Now - FTime, AYear, AMonth, ADay, AHour, AMinute, ASecond, AMillisecond);
где FTime - предыдущее засеченное время.
Думкин (2004-08-16 11:38:00) [7]> [11] r9000 (16.08.04 11:20)
Я с вас .... дорогая редакция.
F1
Now function
Delphi syntax:
function Now: TDateTime;
TDateTime = type Double;
In Delphi, TDateTime is a type that maps to a Double.
The integral part of a Delphi TDateTime value is the number of days that have passed since 12/30/1899. The fractional part of the TDateTime value is fraction of a 24 hour day that has elapsed.
r9000 (2004-08-16 11:20:00) [8]Да я знаю,что допустим datetimetostr(now) мы получим строчное значение даты и времени например 12.01.2004 12:23:24. Засек следующее время получил 12.01.2004 13:13:24. Теперь чтобы высчитать сколько секунд или милисекунд прошло между двумя событиями нужно все преобразовывать(т.е. отдельно получать минуты,часы, секунды все это путем умножения приводить к секундам). Так вот я и спрашиваю можно ли все эти преобразования обойти, получить какое-то число, например 102-20, и получить искомое значение секунд или милисекунд между двумя событиями.
Dyn`alt (2004-08-16 10:16:00) [9]TDateTime - число не в смысле дата, а числовой тип, который, например, имеет результат функции Now(), возвращающей текущую дату и время
Рамиль (2004-08-16 10:07:00) [10]ДА ненадо никуда преобразовывать!!!
Думкин (2004-08-16 10:06:00) [11]> TDateTime-явно не подходит
Явно? а какой тип у TDateTime?
r9000 (2004-08-16 10:03:00) [12]Объявляю переменную
rt:real
и что же нужно ей присвоить, чтобы получить преобразованное число
rt:=TDateTime-явно не подходит
REA (2004-08-16 10:02:00) [13]StrToDateTime(), если из строки. Now(), если текущее время. Из чего получить?
Рамиль (2004-08-16 09:58:00) [14]Чего его получать то? Сказали же, TDateTime и есть число, хочешь отнимай, хочешь прибавляй.
r9000 (2004-08-16 09:57:00) [15]Непонятно как получить это число(пеобразованное время)? Использовать какой-то компонент или функцию какую-то?
Anatoly Podgoretsky (2004-08-16 09:54:00) [16]Умножить на 86400 или 86400000
r9000 (2004-08-16 09:53:00) [17]И как получить это число?
Dyn`alt (2004-08-16 09:46:00) [18]Тип TDateTime это и есть число типа Double