Delphi 西雅图德尔福10号没有解码日期时间吗?

Delphi 西雅图德尔福10号没有解码日期时间吗?,delphi,delphi-10-seattle,Delphi,Delphi 10 Seattle,我想获取当前日期,包括时间和毫秒。由于Now函数返回的时间没有毫秒,因此我决定使用该函数,但Delphi10似乎不知道这是什么 它走了吗?如果是,我应该使用什么来代替它?位于 为获得具有日期、时间和毫秒的字符串,您也可以考虑这个解决方案: FormatDateTime('dd/mm/yyyy hh:nn:ss,zzz', Now); 正如中所指出的,现在包括毫秒,它实际上对应于: var SystemTime: TSystemTime; begin GetLocalTime(Sy

我想获取当前日期,包括时间和毫秒。由于
Now
函数返回的时间没有毫秒,因此我决定使用该函数,但Delphi10似乎不知道这是什么

它走了吗?如果是,我应该使用什么来代替它?

位于

为获得具有日期、时间和毫秒的字符串,您也可以考虑这个解决方案:

FormatDateTime('dd/mm/yyyy hh:nn:ss,zzz', Now);


正如中所指出的,
现在
包括毫秒,它实际上对应于:

var
  SystemTime: TSystemTime;
begin
  GetLocalTime(SystemTime);
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) + EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;
居住在

为获得具有日期、时间和毫秒的字符串,您也可以考虑这个解决方案:

FormatDateTime('dd/mm/yyyy hh:nn:ss,zzz', Now);


正如中所指出的,
现在
包括毫秒,它实际上对应于:

var
  SystemTime: TSystemTime;
begin
  GetLocalTime(SystemTime);
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) + EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;

我建议您停止使用Delphi Basic,而是使用文档。诚然,Delphi Basics网站确实列出了包含该函数的单元,但您最好使用产品文档。即使使用
decodeddatetime
,您也无法从
Now
函数中获得更高的精度。如果你需要用毫秒来知道当前的时间,考虑一下。也就是说,如果你实际上不需要一天的日期和时间,而只需要一种精确的方法来测量两个事件之间的相对间隔,那么就考虑使用“现在函数返回毫秒的时间”-我不知道你从哪里得到这个想法,但是<代码>现在()(代码)>毫秒精度。我一直在使用
Now()
,它包括毫秒。看看它的源代码,它肯定从所有平台上的操作系统获得毫秒。我刚刚做了一个测试,调用了两次
Now()
,中间使用了
Sleep(10)
,然后从两个值中提取毫秒,正如预期的那样,它们相隔10毫秒。就我记忆所及,Now()的精度总是高达1毫秒。事实上,我在进行代码时间测量时经常使用它(在TStopWatch实现之前)。现在我想,由于Delphi现在也支持移动平台,所以其中一些平台可能不支持以高达一毫秒的精度检索时间。我建议您停止使用Delphi Basic,而是使用文档。诚然,Delphi Basics网站确实列出了包含该函数的单元,但您最好使用产品文档。即使使用
decodeddatetime
,您也无法从
Now
函数中获得更高的精度。如果你需要用毫秒来知道当前的时间,考虑一下。也就是说,如果你实际上不需要一天的日期和时间,而只需要一种精确的方法来测量两个事件之间的相对间隔,那么就考虑使用“现在函数返回毫秒的时间”-我不知道你从哪里得到这个想法,但是<代码>现在()(代码)>毫秒精度。我一直在使用
Now()
,它包括毫秒。看看它的源代码,它肯定从所有平台上的操作系统获得毫秒。我刚刚做了一个测试,调用了两次
Now()
,中间使用了
Sleep(10)
,然后从两个值中提取毫秒,正如预期的那样,它们相隔10毫秒。就我记忆所及,Now()的精度总是高达1毫秒。事实上,我在进行代码时间测量时经常使用它(在TStopWatch实现之前)。现在我想,由于Delphi现在也支持移动平台,因此可能其中一些平台不支持以高达一毫秒的精度检索时间。
Now()
实际上与
Date()+time()
相同。他们都从同一个来源获得数据。在任何情况下,
Now()
Time()
都包括毫秒。
Now()
实际上与
Date()+Time()
相同。他们都从同一个来源获得数据。在任何情况下,
Now()
Time()
都包括毫秒。