c++

如何使用timeval进行时间的加减运算

小樊
102
2024-08-11 10:29:36
栏目: 编程语言

在C语言中,可以使用timeval结构体来表示时间,并通过调用timeval结构体的相关函数来进行时间的加减运算。以下是一个示例代码,演示如何使用timeval结构体进行时间的加减运算:

#include <stdio.h>
#include <sys/time.h>

int main() {
    struct timeval currentTime, newTime, result;

    // 获取当前时间
    gettimeofday(&currentTime, NULL);

    // 设置要加减的时间间隔
    int secondsToAdd = 10;
    int secondsToSubtract = 5;

    // 加法运算
    result.tv_sec = currentTime.tv_sec + secondsToAdd;
    result.tv_usec = currentTime.tv_usec;
    timeradd(&currentTime, &result, &newTime);
    printf("Add %d seconds: %ld seconds %ld microseconds\n", secondsToAdd, newTime.tv_sec, newTime.tv_usec);

    // 减法运算
    result.tv_sec = currentTime.tv_sec - secondsToSubtract;
    result.tv_usec = currentTime.tv_usec;
    timersub(&currentTime, &result, &newTime);
    printf("Subtract %d seconds: %ld seconds %ld microseconds\n", secondsToSubtract, newTime.tv_sec, newTime.tv_usec);

    return 0;
}

在上面的示例代码中,我们首先获取当前时间,然后设置要加减的时间间隔,通过调用timeradd和timersub函数进行时间的加减运算,最后输出结果。请注意,timeval结构体中的tv_sec字段表示秒数,tv_usec字段表示微秒数。

0
看了该问题的人还看了