difftime
来自 cppreference.com
定义在头文件 <time.h> 中 |
||
计算两个日历时间之间的差值,以 time_t 对象 (time_end - time_beg) 表示,单位为秒。如果 time_end
指向的时间点在 time_beg
之前,则结果为负数。
内容 |
[编辑] 参数
time_beg, time_end | - | 要比较的时间 |
[编辑] 返回值
两个时间之间的差值,单位为秒。
[编辑] 注释
在 POSIX 系统中,time_t 以秒为单位,difftime
等于算术减法,但 C 和 C++ 允许 time_t 使用分数单位。
[编辑] 示例
以下程序计算自本月开始至今经过的秒数。
运行此代码
#include <stdio.h> #include <time.h> int main(void) { time_t now = time(0); struct tm beg = *localtime(&now); // set beg to the beginning of the month beg.tm_hour = 0, beg.tm_min = 0, beg.tm_sec = 0, beg.tm_mday = 1; double seconds = difftime(now, mktime(&beg)); printf("%.f seconds have passed since the beginning of the month.\n", seconds); return 0; }
输出
1937968 seconds have passed since the beginning of the month.
[编辑] 参考
- C17 标准 (ISO/IEC 9899:2018)
- 7.27.2.2 difftime 函数 (p: 285)
- C11 标准 (ISO/IEC 9899:2011)
- 7.27.2.2 difftime 函数 (p: 390)
- C99 标准 (ISO/IEC 9899:1999)
- 7.23.2.2 difftime 函数 (p: 338)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 7.12.2.2 difftime 函数 (p: 171)
[编辑] 另请参阅
C++ 文档 适用于 difftime
|