Як отримати системний час в мілісекунди
Подивися в довідці цю функцію. Вона повертає кількість мілісекунд минули з старту Віндовс. Можна засікати час з точністю до мілісекунди
The GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started.
Все відмінно, ось тільки незрозуміло, яке відношення має "кількість мілісекунд минули з старту Віндовс" до системного часу.
Чи не підійде - я не зовсім правильно сказав-потрібен час доби в мілісекундах (Віновс постійно запущений) 0мсек = 00:00:00. а функція Time не підходить?
> Потрібен час доби в мілісекундах
В годині 60 хвилин.
У хвилині 60 секунд.
В секунді 1000 мілісекунд.
Множити і складати вміємо?
Я думаю, варто подивитися GetSystemTime, і взяти звідти час доби. В 1 секунді 1000 мілісекунд, в 1 хвилині 60 секунд, в одному годині 60 хвилин. Здається, все вийде: час = годинник * 3600000 + хвилини * 60000 + секунди * 1000 + мілісекунди
Я не помиляюсь?
Як програмою отримати системний час в годинах, в хвилинах, в секундах - в чому завгодно, щоб це можна було перевести в мілісекунди - ось, що мене цікавило
Ось так точно не помилитеся:
((Годинник * 60 + хвилини) * 60 + секунди) * 1000 + мілісекунди
І на додаток Trunc (SystemTimeToDateTime (SystemTime) * 86400000) але це вже дрібниці, або самостійно перевести структури в мілісекунди, теж не складно.
Немає у мене GetSystemTime є GetTime
> DVP777 (28.11.03 15:07) [7]
Дивно. Якщо Вас цікавило саме це, то чому Ви сказали, що GetSystemTime не підійде?
> DVP777 (28.11.03 15:07) [7]
У перекладі з російської на англійську слова "час" виходить слово "time".
Не допомогло?
DVP777 (28.11.03 15:12) [10]
У всіх є, і у тебе теж.
uses windows
> DVP777 (28.11.03 15:12) [10]
Якщо у Вас є Windows, значить, у Вас є GetSystemTime.
Плохіш_ (28.11.03 15:12) [12]
Чи не підійде по ряду причин
1. немає частини під назвою Date, можна замінити на Now
2. доведеться приводити локальне час до системного з урахуванням зсуву, зайва робота
А про дату він і не питав ;-)
Поняття дата / час трохи ширше ніж ти думаєш
Мінлива now повертає поточне значення в TdataTime: double. 1 = 24 години. Перерахувати складно?