今天遇到一个小需求,需要计算时间差,记录下来:
#include<iostream>
#include <ctime>
// 获取当前时间
time_t st = time(0);
// 执行所需代码
......
// 执行完后的时间
time_t t1 = time(0);
// 时间差,单位秒
double seconds = difftime(t1, st);
// 将时间转为字符串(显示格式为:Wed Jul 12 11:34:12 2023)
char *str = ctime(&t1);
//------------------------------------------------------------------------------
// 计算st与某个时间的时间差
// 设置某个时间点(2023,9,9)
struct tm st2 = { 0 };
st2.tm_year = 2023 - 1900;
st2.tm_mon = 8;
st2.tm_mday = 9;
st2.tm_hour = 18;
// 转换结构体为time_t, 利用difftime, 计算时间差
seconds = difftime(mktime(&st2), st);