国际访客建议访问 Primers 编程伙伴 国际版站点 > C 教程 > difftime 以获得更好的体验。

# C 语言标准库函数 difftime

在头文件 time.h 中定义。
/*********************************************
 * @brief 计算时间差
 * @param time_end 结束时间
 * @param time_beg 开始时间
 * @return 时间相差的秒数
 ********************************************/
double difftime(time_t time_end, time_t time_beg);

!subtitle:说明

计算时间相差的秒数:time_end - time_beg

!subtitle:参数

  • time_end - 结束时间

  • time_beg - 开始时间

!subtitle:返回值

  • 时间相差的秒数

# 示例

#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)

本文 更新于: 2025-11-27 09:38:08 创建于: 2025-11-27 09:38:08