работа с миллисекундами [delphi]
StrToDateTime(FormatDateTime('hh:mm:ss:zzz', Now)) [COLOR="Red"]error[/COLOR]
как правильно выполнить второе преобразование? (или грубо говоря получить от фунцкции Now время вида часы-минуты-секунды-миллисекунды)
Используй API
Код:
ShowMessage(FormatDateTime('hh:mm:ss:zzz', Now));
прекрасно получается
Цитата:
от фунцкции Now время вида часы-минуты-секунды-миллисекунды
Цитата: Phodopus
Код:
ShowMessage(FormatDateTime('hh:mm:ss:zzz', Now));
прекрасно получается
так-то оно так, но вот только нужно, чтобы данные были не строковым типом, а TDateTime
Цитата:
Note: Although TDateTime values can represent milliseconds, Now is accurate only to the nearest second.
Цитата: sherry
так-то оно так, но вот только нужно, чтобы данные были не строковым типом, а TDateTime
Now и так возвращает TDateTime
Код:
function Now: TDateTime;
Цитата: Proger_XP
Обратите внимание, что:
Now и так возвращает TDateTime
Now и так возвращает TDateTime
Код:
function Now: TDateTime;
Вызов Now без параметров даёт результат, вида ЧЧ:ММ:СС
а мне бы ещё и миллисекунды. Я пытаюсь через FormatDateTime получать с миллисекундами, а потом перекодить из строкового типа в TDateTime
Код:
StrToDateTime(FormatDateTime('hh:mm:ss:zzz', Now))
плюётся ошибкой, что (к примеру) 12:23:56:123 не является типом TDateTime, а вариант 12:23:56 прокатывает :o
мы друг друга поняли? :)
Цитата: sherry
мы друг друга поняли? :)
По-моему нет, см. картинку.
И потом, где вы у Now видели параметры?
Код:
var
fs: TFormatSettings;
date: TDateTime;
begin
fs.DecimalSeparator:='.';
fs.TimeSeparator:=':';
fs.DateSeparator:='-';
fs.LongTimeFormat:='yyyy-mm-dd hh:nn:ss:zzz';
date:=now;
caption:=DateTimeToStr(date, fs);
fs: TFormatSettings;
date: TDateTime;
begin
fs.DecimalSeparator:='.';
fs.TimeSeparator:=':';
fs.DateSeparator:='-';
fs.LongTimeFormat:='yyyy-mm-dd hh:nn:ss:zzz';
date:=now;
caption:=DateTimeToStr(date, fs);