这几天一直做跟时间有关的操作,今天有空,特地整理一下
在介绍之前,先介绍两个概念
Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。
Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。(简单点说,可以理解为CT时间就是UTC时间减去1900-01-01 00:00:00)
与日期和时间相关的数据结构
- struct
tm - {
-
int tm_sec; -
int tm_min; -
int tm_hour; -
int tm_mday; i -
nt tm_mon; -
int tm_year; -
int tm_wday; -
int tm_yday; -
int tm_isdst; - };
clock(取得CPU时钟计时单元(clock tick)数)
函数定义
clock_t clock( void )
函数说明
函数返回从"开启这个程序进程"到"程序中调用clock()函数"时之间的CPU时钟计时单元(clock tick)数。其中clock_t是用来保存时间的数据类型
返回值
从"开启这个程序进程"到"程序中调用clock()函数"时之间的CPU时钟计时单元(clock tick)数
在time.h文件中,定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define CLOCKS_PER_SEC ((clock_t)1000)
可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。
范例: