2014-07-08 90 views
-1

是否有标准C++时间类,它有方法来减去日期 例如: 我想从这样的日期中减去10分钟(2014年1月1日星期一00:05),并获得如下日期(12月31日太阳2013年23点55分)如何从日期中扣除时间

,如果有对“结构TM”型

回答

2

cppreference这样的功能这将是真棒显示有足够的​​功能(mktime,本地时间),以struct tm转换与time_t。计算结果与time_t明显,因为它是一个完整的传统型表示自1970年NEWYEAR

0

的秒数,我不知道是否有用于struct tm任何方法,但我认为你应该阅读C++11chrono可用。 Link

+0

嗯,有'difftime',这只是一个'mktime'从'结构tm'了。 – dkb

+1

'chrono'将无助于处理日历日期。你需要'mktime'和C库中的朋友,或者像Boost.DateTime这样的第三方库。 –

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; 
}