C++最簡單的日期計算

開發過程中有時候需要進行有關日期的計算,比如計算3個月前的日期,計算60天后的日期,計算兩年前的日期等。自己算起來非常麻煩,難免有疏漏。

利用tm結構體和time_t,可以輕鬆地準確地計算這些日期。程序如下:

#include <iostream>
#include <time.h>


void PrintTime(tm tmp_time)
{
	printf("%04d_%02d_%02d\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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章