作业帮 > 综合 > 作业

delphi如何取得:从1970年1月1日0时开始的到当前时间的毫秒数?

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 17:07:17
delphi如何取得:从1970年1月1日0时开始的到当前时间的毫秒数?
在C#时的代码类似这样,怎么翻译成Delphi的呢
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970,1,1,0,0,0,0));
System.DateTime nowTime = System.DateTime.Now;
long unixTime = (long)(nowTime - startTime).TotalMilliseconds;
MessageBox.Show(unixTime.ToString());
delphi如何取得:从1970年1月1日0时开始的到当前时间的毫秒数?
DELPHI里有MilliSecondsBetween这个函数(INT64).可以使用.
该函数就是返回两个日期时间之间的毫秒差.
但是经测试,返回的值可能超界了.
改良了一下.代码如下:
Function getMilliSecond(BigTime,SmallTime :TDateTime):String;
var
a :Longint;
b :String;//毫秒数
begin
a := MinutesBetween(BigTime,SmallTime);//取分钟差
a := a * 60;//取秒差
b := IntToStr(a) + '000';//将秒差结果后缀加上三个零(等于毫秒数)
Result := b;
end;
另外,你可以用StrToDateTime函数将字符串转换成日期时间类型.例如:
StrtoDateTime('1970-01-01 0:00:00');