怎么使用Delphi获取当前的时间,精确到毫秒

如题所述

一、在进行编程之前,需要了解的预备知识:

Windows API 库提供了获取当前时间的功能函数,其描述如下:

在  delphi 语言里,对此函数进行了封装:

其中的参数 TSystemTime 结构定义如下:

record 体成员中的 wMilliseconds 数值就是当前时间的毫秒数。

二、实际编写代码:

procedure TForm1.Button1Click(Sender: TObject);
var
  currentTime:TSystemTime;
  sDateTime: string;
begin
  GetLocalTime(currentTime);
  with currentTime do
  begin
    sDateTime := format('当前时间:%då¹´%d月%d日 %d时%d分%d秒 %d毫秒',
           [wYear,wMonth,wDay,wHour,wMinute,wSecond,wMilliseconds]);
  end;
  MessageBox(Handle, PChar(sDateTime),'信息提示', MB_OK +
    MB_ICONINFORMATION);
end;

运行截图:


温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-26
function GetJavaTime( d: TDateTime ): Int64;
var
dJavaStart: TDateTime;
begin
//java里的时间是从1970年1月1日0点到当前的间隔
dJavaStart := EncodeDateTime( 1970, 1, 1, 0, 0, 0, 0 );
Result := MilliSecondsBetween( d, dJavaStart );
end;
这样就可以取毫秒级的时间戳了本回答被网友采纳
第2个回答  2016-08-21
TTimeStamp 类型: 
这是一个用来描述日期与时间的一个结构类型,在Delphi中是这样定义的:
type
TTimeStamp = record
Time: Integer; {从午夜0点开始到指定时间的毫秒数 }
Date: Integer; {以本日为基准到指点日期的天数}
end; 


program Project2;

{$APPTYPE CONSOLE}

uses sysutils;
var
t:tdatetime;
s:string;
  tt:ttimestamp;
begin
t:=now;
s:=datetimetostr(t);
writeln(s);
  writeln(t);
  tt:=DateTimeToTimeStamp(t);
  writeln(tt.date);
  writeln(tt.time);      {这个就是毫秒数}
  readln;
end.

本回答被提问者采纳
相似回答