如何将毫秒日期转换为DateTime?

时间:2016-09-30 14:20:45

标签: delphi delphi-10.1-berlin

我这次来自服务器:1475245457452 日期和时间是:30.9.2016,16:24:17

如何将Delphi中的1475245457452转换为正确的日期和时间?

1 个答案:

答案 0 :(得分:6)

您没有说,但我可以猜测,这个数量实际上是毫秒,从Unix纪元开始计算。因此,请使用System.DateUtils单元中的UnixToDateTime转换它们:

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  System.DateUtils;

begin
  Writeln(DateTimeToStr(UnixToDateTime(1475245457452 div 1000)));
end.

我已将1000除以转换为秒,因为UnixToDateTime需要的时间以秒为单位而不是毫秒。 如果您希望保留毫秒部分时间,则可以通过除法的其余部分随时增加日期时间值。

重要的是要强调时间总是在某个单位系统中测量,并且相对于某个原点或时代而言。知道一个价值永远不够,但你必须知道单位和时代。是的,通常很容易猜到这些,但通常最好阅读产生时间价值的软件规范,以明确找出价值。