C语言获取当前系统时间的几种方式.pdfVIP

  • 0
  • 0
  • 约1.57万字
  • 约 16页
  • 2026-01-14 发布于河北
  • 举报

C语言中如何获取时间?精度如何?

1使用timejtime(time_t*timer)精确到秒

2使用clock」clock。得到的是CPU时间精确到1/CLOCKS_PER_SEC秒

3计算时间差使用doubledifftime(time_ttimerltimerO)

4使用DWORDGetTickCount。精确到亳秒

5如果使用MFC的CTime类,可以用CTime::GetCurrenlTime()精确到秒

6获取高精度时间,可以使用

BOOLQueryPerformanceFrequency(LARGE_INTEGER*lpFrequency)

获取系统的计数器的频率

BOOLQueryPerfornianceCounter(LARGE_INTEGER*lpPerfoinianceCount)

获取计数器的值

然后用两次计数胖的差除以Frequency就得到时间。

7MultimediaTimerFunctions

Thefollowingfunctionsareusedwithmultimediatimers

timeBeginPeriod/timeEndPeriod/iimeGetDevCaps/timeGetSysteinTime

〃**********************也**************次******************包************

〃用标准C实现获取当前系统时间的函数

一」ime()函数

limc(rawiimc)函数获取当前时间距1970年1月1日的秒数,以秒计数单位,存于rawlimc中。

#includclimeh

voidmain()

]

time_trawtime:

structtm*timeinfb;

time(rawtime);

limeinfo=localtime(rawtime);

prinlf(\007Thecurrentdate/timcis:%s,asciime(timcinfo));

eil(O);

}

include--必须的时间函数头文件

time」一时间类型(time.h定义是typedeflongtime」;追根溯源,time」是long)

structtm-时间结构,time.h定义如下:

inttm_sec;

inttni_min;

inttm_hour;

inttm_mday;

inttin_mon;

inttm_year;

inttin_wday;

inttin_yday;

inttm_isdst;

time(^rAwtime):—获取时间,以秒计,从1970年1月一Fl起算,存于rawtime

locallimc(raw(imc):-转为当地时间,im时间结构

asctirnc()-转为标准ASCII时间格式:

星期月日时:分:秒年

二.clock。函数,用clock。函数,得到系统启动以后的玄杪级时间,然后除以CLOCKS_PER_SEC,

就可以换成“秒”,标准c函数。

clock_tclock(void);

#include

clock」(=clock。;

longsec=l/CLOCKS_PER_SEC;

他是记录时钟周期的,实现看来不会很精确,需试验验证;

三.gettime(t);据说tc2.0的time结构含有亳秒信息

#include

#include

intmain(void)

(

structtimet;

gettime(t);

printf(Thecurrenttimeis:-:d:d.d\n,

t.ti_hour,t.ti_niin,t.ti_sec,t.ti_hund);

return0;

)

time是一个结构体,,其中成员函数ti_hund是毫秒。。。

四.GclTickCouni(),这个是windows里.面常用来计算程

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档