Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Преобразование времени [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо