delphi中要把时间比如说2011年1月1日12时25秒转换成整型数怎么转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi中要把时间比如说2011年1月1日12时25秒转换成整型数怎么转换相关的知识,希望对你有一定的参考价值。

我记录下当前程序运行的时间,再次运行时程序时也记下一个时间,两次时间相减得出来秒数怎么实现,是不是要把时间转换成整数

楼上的有点问题。
var
OldTime: TDateTime;
NowTime: TDateTime;
temp: real;
ii:integer;
在开始时
OldTime := Now;
在要计算时
NowTime := Now;
temp:=(NowTime-OldTime)*24*60*60 ;
ii:=round(temp);
参考技术A 似乎时间可以直接相减。
var
OldTime: TDateTime;
NowTime: TDateTime;
在开始时
OldTime := Now;
在要计算时
NowTime := Now;
TimeToStr(NowTime-OldTime);
参考技术B 如果只是为了计算运行时间,可以这样:

var
startTime, endTime: Cardinal;
begin
startTime := GetTickCount;

DoSometing();

ShowMessage('执行时间为:' + IntToStr(endTime - startTime) + '毫秒');
end;
参考技术C GetTickCount

JAVA UTC时间的基准点问题

System.currentTimeMillier(), 拿到的是当前时间和一个基准点(1970年1月1日午夜)之间的差值。想请教大神,这个基准点全世界共用一个,还是说在中国调用这个方法时这个基准点是东八时区的1970年1月1日午夜,在其他地方调用这个方法时用的是当地时区的1970年1月1日午夜?

TimeZone这方面已经要把楼主弄傻了。。。
谢谢大神

计算机用的是unix纪元,1970年1月1日 0时0分 UTC(协调世界时 即升级版的格林威治时间)
可以说是英国标准时间。

中国是UTC+8 八区,中国本地时间要在以上标准时间上面加8小时。

反映在java的timemilli毫秒时是,
long china_ts=System.currentTimeMillier()+1000*60*60*8;
但只在不支持Java SE时区的早期版本(比如Java Card,Java ME/MIDP1.0)才需要自己手工加。
现在的java系统本身有时区库,用Calendar/Date类,会自动调整时区。不需要再手动算。按以上加法会画蛇添足。
参考技术A 基准点是所谓的“UNIX epoch”, 指的是一个客观固定的时间点,即UTC的1970年1月1日午夜。尽管地球上不同地方的地方时不一样,但是这不影响客观时间时间尺度。 参考技术B   你好,很高兴能够给你解答问题,Java中System.currentTimeMillier()是指获取你电脑的当前时间距基准点(1970年1月1日午夜)的差值,并不是说在中国或者在其他国家调用就不一样,你可以设置你的电脑时间在程序测试一下,学习要灵活,切记不能死搬硬套

  希望可以帮助到你

以上是关于delphi中要把时间比如说2011年1月1日12时25秒转换成整型数怎么转换的主要内容,如果未能解决你的问题,请参考以下文章

JAVA里的data类使用

C# 将时间拆分为小时块

ACCEss表中要设置默认值:DATE()结果是例:2011-8-29,我想要带时间的,例2011-8-29 5:45:12

小甲鱼

从减号表中获取不同的场景

如何从日期对象中获取年/月/日?