delphi如何取得:从1970年1月1日0时开始的到当前时间的毫秒数?
补充一下,在C#时的代码类似这样,怎么翻译成Delphi的呢System.DateTimestartTime=TimeZone.CurrentTimeZone.ToLoc...
补充一下,在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()); 展开
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()); 展开
展开全部
Longword t;//定义变量
begin
t=MilliSencondOfTheDay(StrToDateTime('1970-1-1 0:0:0'));//获得1970以来的毫秒数
showmessage(inttostr(t));//查看
end;
begin
t=MilliSencondOfTheDay(StrToDateTime('1970-1-1 0:0:0'));//获得1970以来的毫秒数
showmessage(inttostr(t));//查看
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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');
该函数就是返回两个日期时间之间的毫秒差。
但是经测试,返回的值可能超界了。
改良了一下。代码如下:
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');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题难道百度不到?还需要来送分?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询