有时候需要对时间进行操作,比如当前时间增加几秒,或者减少几秒。下面示例是增加45秒
time_t t = time(NULL);
struct tm tm1;
tm1.tm_year = 2019;
tm1.tm_mon = 1;
tm1.tm_mday = 19;
tm1.tm_hour = 16;
tm1.tm_min = 15;
tm1.tm_sec = 15;
tm1.tm_year -= 1900;
tm1.tm_mon--;
tm1.tm_isdst = -1;
t = mktime(&tm1);
time_t t2 = t + 45;
tm *tm2 = localtime(&t2);
std::cout << "Hello World!\n";
time_t类类型如下,可以看出time_t实际上是一个整数,它记录了保存的是从1970年1月1日0时0分0 秒到现在经过的秒数。这里有一点要注意,对time_t数据类型的值来说,它所表示的时间不能晚于2038年1月18日19时14分07秒,否则会发生溢出。为了能够表示更久远的时间,一些编译器厂商引入了64位甚至更长的整形数来保存日历时间。
其实就是一个长整数
举一个例子:
当前时间如果为2019-01-19 16:16:00