在C語言中,可以使用timeval結構體來表示時間,并通過調用timeval結構體的相關函數來進行時間的加減運算。以下是一個示例代碼,演示如何使用timeval結構體進行時間的加減運算:
#include <stdio.h>
#include <sys/time.h>
int main() {
struct timeval currentTime, newTime, result;
// 獲取當前時間
gettimeofday(¤tTime, NULL);
// 設置要加減的時間間隔
int secondsToAdd = 10;
int secondsToSubtract = 5;
// 加法運算
result.tv_sec = currentTime.tv_sec + secondsToAdd;
result.tv_usec = currentTime.tv_usec;
timeradd(¤tTime, &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(¤tTime, &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字段表示微秒數。