问个“无聊”的问题
假如我有个函数fun,接受若干个TDateTime的值
而我传递当前时间,fun(now, now, now);
这样能保证3个值是相等的么?精度相同
[解决办法]
应该一样的,至少能精确到毫秒,后面还有微秒,不清楚是否准确
[解决办法]
正常的取到毫秒应该可以
[解决办法]
系统默认的精度应该是一样的
[解决办法]
而我传递当前时间,fun(now, now, now);
这3个值 到底是否一样 取决于 Now函数在不同pc机上 执行的时间 理论上是一样的。也就是说 3次执行now 花费的时间是忽略不计的。但在一些环境下 他就会不一样。
所以,为了保证你传的3个时间参数一样 你传3个值明显没什么用处,传一个就可以。
如果 你为了连续的采集3个时间 来检查电脑的性能,我觉得 你可以把写个MYnow函数
beign
result := now;
Application.ProcessMessages;
end
这样 连续3次调用mynow 值有可能是不一样的
[解决办法]
不能保证
看你要的精度
[解决办法]
不能保证
看你要的精度
要保证的话,你可以先取now值,再把值传进函数
timer1:=now;
fun(timer1, timer1, timer1);
[解决办法]
3个参数有执行顺序,不论是从左到右还是从右到左,3个now应该不一样。
[解决办法]
严格的说,每一次调用Now返回的值都是不一样的。所以,如果需要3个值完全相同,按6楼的方法来做即可。