#C 语言标准库函数 difftime
/*********************************************
* @brief 计算时间差
* @param time_end 结束时间
* @param time_beg 开始时间
* @return 时间相差的秒数
********************************************/
double difftime(time_t time_end, time_t time_beg);
说明
计算时间相差的秒数:time_end - time_beg
。
参数
time_end
- 结束时间time_beg
- 开始时间
返回值
- 时间相差的秒数
#示例
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t now = time(NULL); // 获取当前时间戳
// 日历时间 2008 年 8 月 8 日
struct tm date = {
.tm_year = 2008 - 1900, // 0 表示 1900 年
.tm_mon = 7, // 8 月, 0 表示 1 月
.tm_mday = 8,
.tm_hour = 0,
.tm_min = 0,
.tm_sec = 0
};
// 转换为时间戳
time_t begin = mktime(&date);
// 计算时间差
double diff = difftime(now, begin);
printf("距离 2008 年 8 月 8 日已经过了 %f 秒\n", diff);
return 0;
}
运行结果:
距离 2008 年 8 月 8 日已经过了 541960167.000000 秒
#推荐阅读
#参考标准
- C17 standard (ISO/IEC 9899:2018):
- 7.27.2.2 The difftime function (p: 285)
- C11 standard (ISO/IEC 9899:2011):
- 7.27.2.2 The difftime function (p: 390)
- C99 standard (ISO/IEC 9899:1999):
- 7.23.2.2 The difftime function (p: 338)
- C89/C90 standard (ISO/IEC 9899:1990):
- 7.12.2.2 The difftime function (p: 171)