C語言實現時間的加一天或者減一天

liuhai200913發表於2016-03-31

轉換思路利用time_t型別來進行時間的換算。

 

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <string>

#include <time.h>

 

using std::string;

#pragma  warning(disable:4996)

int main()

{

         string _strDealDate("20120124");

         charszDate[20]= { 0 };

         intYear= 0, Month = 0, Day= 0, Hour = 0, Min= 0, Second = 0;

 

         strcpy(szDate, (char*)_strDealDate.substr(0, 4).c_str());

         printf("%s\n",szDate);

 

         //獲取當前時間

         time_t curTime = time(NULL);

 

         structtm* t= localtime(&curTime);

 

         printf("%4d %02d %02d\n",

                   t->tm_year+ 1900, t->tm_mon+ 1, t->tm_mday);//獲取當前的日期

         printf( "%02d %02d %02d\n",t->tm_hour,t->tm_min,t->tm_sec);  // 獲取當前的時間

 

         //獲取減一天後的時間

         time_t preDay = curTime- 3600 * 24;

 

         t= localtime(&preDay);

         printf("%4d %02d %02d\n",

                   t->tm_year+ 1900, t->tm_mon+ 1, t->tm_mday);//獲取前一天的日期

         printf("%02d %02d %02d\n",t->tm_hour,t->tm_min,t->tm_sec);  // 獲取前一天的時間

 

         //獲取加一天後的時間

         time_t preDay = curTime+ 3600 * 24;

 

         t= localtime(&preDay);

         printf("%4d %02d %02d\n",

                   t->tm_year+ 1900, t->tm_mon+ 1, t->tm_mday);//獲取一天後的日期

         printf("%02d %02d %02d\n",t->tm_hour,t->tm_min,t->tm_sec);  // 獲取一天後的時間

 

         return0;

}

 

執行結果

 

相關文章