社区
控件
帖子详情
如何取得精确的系统时间?
leoxue
2003-05-02 02:54:38
如何取得精确的系统时间?
我想要取得执行一段代码所用去的时间,但time好像只能精确到秒,我想能够得到精确到毫秒的时间,有什么办法可以吗?
...全文
93
4
打赏
收藏
如何取得精确的系统时间?
如何取得精确的系统时间? 我想要取得执行一段代码所用去的时间,但time好像只能精确到秒,我想能够得到精确到毫秒的时间,有什么办法可以吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
situation
2003-05-04
打赏
举报
回复
up
lihonggen0
2003-05-02
打赏
举报
回复
http://ycqz.edu.qz.fj.cn/mjmb/ydxxjs4.htm
Timer控件的使用
VB编程过程中,通过引发Timer事件,Timer控件可以有规律地间隔一段时间执行一次代码。Interval属性是Timer控件最重要的一个属性,它以千分之一秒为单位指定Timer事件之间的间隔,理论上可以认为最少可设置为1毫秒触发一次Timer事件,另外一个重要属性是Enabled属性,它决定计时器是否开始工作。因为Timer控件响应时间的流逝,独立于用户,可以成为编程者的“好帮手”,所以在实践中很受欢迎,但编程者特别是初学者在实际使用过程中往往会感觉到“力不从心”,下面笔者将通过分析并结合自己的编程体会谈谈Timer控件使用中的几个误区。
1、编程中过于相信Interval属性值的准确性
这是初学者易犯的错误,其实Interval属性值只是一个参考值,其准确性低,因而间隔不一定准确。Timer控件是基于Windows消息WM_TIME的时钟脉冲发生器,系统每秒生成18个时钟信号,所以即使用毫秒衡量Interval属性,间隔的实际精度不会超过1/18秒,换句话说,Timer控件能够精确设置的最短时间是65.6毫秒,如果要使时间间隔更精确,应让定时器检查系统时钟。
2、Interval属性的取值范围
Interval属性的有效值在0至65535之间,这就意味着即使最长时间间隔也只是65.6秒,比一分钟长不了多少,而且VB只有在Interval属性值大于0时,才会产生Timer事件,这是要 特别注意的地方。
3、Timer控件的功能定位出错
Timer事件是周期性的,Interval属性主要是决定“多少次”而非“多久”,所以一般不用于计时,而是用做计数。笔者曾做过实验,把Interval值分别设为1000和60000,即把间隔时间分别设为一秒钟和一分钟,做成一个计时器,并把工作结果和系统
标。准时间比较,误差分别是6.7%和1.7%,可见定时器事件生成越频繁,响应事件所用的处理越多,越将降低系统综合性能,从而导致误差增大,这么大的误差显然失去了用做计时的意义。
4、计数器变量的声明错误
在设计计数器时最易犯的错误是不声明变量或在区域变量中声明。将Interval属性设为1000,看看下面这个程序:
Private Sub Timer1_timer()
Dim i as integer
i=i+1
print I
End Sub
也许有读者可能想通过这段程序,能打印出1,2……n,而事实上只能打印出1,1……1来,原因在于每个时间间隔内,按顺序运行的Timer事件是彼此互不相干的,如将变量i声明为区域变量,每次程序一运行完,此变量即告完成任务,因此显示的永远是1,如在程序中将i声明为公用变量,此变量存储的值就会一直保留下来。
以上几点只是笔者在当前系统环境下的粗浅认识,可以想见,随着硬件和软件环境的不断改善,将会出现更加精确的Timer控件。
lihonggen0
2003-05-02
打赏
举报
回复
Timer控件理论上它的记时精度可以达到1ms(毫秒)
在VB中最常用的是Timer控件,它的设置和使用都非常方便,理论上它的记时精度可以达到1ms(毫秒)。但是众所周知的,实际上Timer在记时间隔小于50ms之下是精度是十分差的。它只适用于对于精度要求不太高的场合。
http://www.applevb.com/art/timing.htm
iYoung
2003-05-02
打赏
举报
回复
Public Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
实时操作
系统
与非实时操作
系统
到底有什么区别?
个问题一直没搞明白,按资料上所说“实时操作
系统
就是:执行一个功能的
时间
是可预测的”,难道对硬件端口进行读取也能确定
时间
?读取一个网络数据也能事先知道会用多久
时间
? 常说WINDOWS不是实时性
系统
,那又有哪些特性决定了它不是实时操作
系统
呢? 求解答!! 更多分享到: 相关主题推荐: 操作
系统
windows 预测 硬件 网络 相关推荐: asp 数据库打
获取
系统
时间
的几种方法,最高
精确
1ms
●【获取
系统
时间
的几种方法,最高
精确
1ms】 1.硬件支持高精度计时器 (
精确
到1ms )//获取的最准确,
精确
到1ms QueryPerformanceFrequency(); QueryPerformanceCoun
STM32使用FREERTOS获取
系统
时间
STM32使用FREERTOS获取
系统
时间
使用CUBE_MX生成带有free_RTOS操作
系统
的工程,我们经常会使用到
系统
相对
时间
,尤其是使用其做数据采集的项目中经常需要给你数据打上
时间
的标签就需要实时获取
系统
的相对
时间
。 当然,我们可以单独开一个时钟来计时,但是我们在使用操作
系统
的时候就已经选用了一个定时器,这个定时器做的事情很简单就是为操作
系统
提供
时间
节拍,如果我们能够使用这个时钟就能减少很多的初始化定时器的工作,而且能够省下一个定时器。 我们都知道使用cube_MX生成带有free_RTOS操作
系统
c语言获取
系统
时间
精确
到毫秒,如何获取
系统
流逝
时间
(要求
精确
到毫秒)
如题|#include#include/*包含标准库头文件*/#includeintmain(intargc,char**argv){structtimevalstart,stop,diff;gettimeofday(&start,0);//做你要做的事...gettimeofday(&stop,0);timeval...
C语言获取当前
系统
时间
的几种方式
C语言获取当前
系统
时间
的几种方式 C语言获取
系统
时间
的几种方式 C语言中如何获取
时间
?精度如何? 1 使用time_t time( time_t * timer )
精确
到秒 2 使用clock_t clock() 得到的是CPU
时间
精确
到1/CLOCKS_PER_SEC秒 3 计算
时间
差使用double difftime( time_t timer1, time_t timer0 )
控件
1,453
社区成员
41,355
社区内容
发帖
与我相关
我的任务
控件
VB 控件
复制链接
扫一扫
分享
社区描述
VB 控件
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章