是否有标准的c ++时间类,它有减去日期的方法 例如: 我想从这样的日期减去10分钟(2014年1月1日星期一00:05)并得到那样的日期(2013年12月31日太阳23:55)
如果“struct tm”类型
有这样的功能,那将是很棒的答案 0 :(得分:2)
cppreference显示了足够的功能(mktime,localtime),可以struct tm
与time_t
进行转换。使用time_t
计算是显而易见的,因为它是传统上代表自1970年以来的秒数的整数类型。
答案 1 :(得分:0)
我不知道struct tm
是否有任何方法,但我认为您应该阅读chrono
中提供的C++11
。
Link
答案 2 :(得分:0)
如果您可以使用C ++ 11,您可以轻松减去日期并添加日期:
#include <iostream>
#include <chrono>
#include <ctime>
#include <ratio>
using namespace std;
int main ()
{
chrono::system_clock::time_point today = chrono::system_clock::now();
chrono::system_clock::duration dtn (chrono::duration<int,ratio<60,1>>(10));
time_t t = chrono::system_clock::to_time_t(today-dtn);
cout << ctime(&t) << endl;
return 0;
}