C++最简单的日期计算

    技术2022-07-13  93

    开发过程中有时候需要进行有关日期的计算,比如计算3个月前的日期,计算60天后的日期,计算两年前的日期等。自己算起来非常麻烦,难免有疏漏。

    利用tm结构体和time_t,可以轻松地准确地计算这些日期。程序如下:

    #include <iostream> #include <time.h> void PrintTime(tm tmp_time) { printf("d_d_d\n", tmp_time.tm_year + 1900, tmp_time.tm_mon + 1, tmp_time.tm_mday); } int main(int argc, char* argv[]) { //当前时间 time_t tm_time = time(0); tm current_time = *localtime(&tm_time); PrintTime(current_time); //十八个月前的时间 tm tmp_time = current_time; tmp_time.tm_mon -= 18; time_t time_label = mktime(&tmp_time); tmp_time = *localtime(&time_label); PrintTime(tmp_time); //六十天前的时间 tmp_time = current_time; tmp_time.tm_mday -=60; time_label = mktime(&tmp_time); tmp_time = *localtime(&time_label); PrintTime(tmp_time); //一百八十天后的时间 tmp_time = current_time; tmp_time.tm_mday += 180; time_label = mktime(&tmp_time); tmp_time = *localtime(&time_label); PrintTime(tmp_time); return 0; }

     

    Processed: 0.012, SQL: 9