C++语言ctime库
类型
clock_t
: 是个long型,用来记录一段时间内的时钟计时单元数,即CPU的运行单元时间。
size_t
:标准C库中定义的,应为unsigned int, 在64位系统中为long unsigned int。
time_t
:从1970年1月1日0时0分0秒到该时间点所经过的秒数。
1 | struct tm { |
时间的操作
clock: 返回时钟计时单元数,自从这个程序开始运行。
time: 返回当前的time_t。
difftime: 计算time_t两个之间的时间差。
转换
mktime: 转换tm structure成time_t
asctime: 转换tm structure成字符串
ctime: 转换time_t成字符串
gmtime: 转换time_t 成tm as UTC time
localtime: 转换time_t 成tm as local time
strftime: 格式时间成字符串
转换成字符串的几个函数:asctime, ctime, strftime
宏
CLOCKS_PER_SEC
: 它用来表示一秒钟会有多少个时钟计时单元。
1 |
|
我们可以使用strftime()函数将时间格式化为我们想要的格式。它的原型如下:
1 | size_t strftime( |
我们可以根据format指向字符串中格式命令把timeptr中保存的时间信息放在strDest指向的字符串中,最多向strDest中存放maxsize个字符。该函数返回向strDest指向的字符串中放置的字符数。
函数strftime()的操作有些类似于sprintf():识别以百分号(%)开始的格式命令集合,格式化输出结果放在一个字符串中。格式化命令说明串strDest中各种日期和时间信息的确切表示方式。格式串中的其他字符原样放进串中。格式命令列在下面,它们是区分大小写的。
1 | %a 星期几的简写 |
strftime()函数的声明
1 | size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr) |
- str – 这是指向目标数组的指针,用来复制产生的 C 字符串。
- maxsize – 这是被复制到 str 的最大字符数。
- format – 这是 C 字符串,包含了普通字符和特殊格式说明符的任何组合。这些格式说明符由函数替换为表示 tm 中所指定时间的相对应值。格式说明符是:
1 |
|