C++ 对日期进行加减运算
2017-04-11 00:00
204 查看
#include <iostream>
#include <ctime>
#include <cstring>
using namespace std;
time_t strTime2unix(char timeStamp[])
{
struct tm tm;
memset(&tm, 0, sizeof(tm));
sscanf(timeStamp, "%d-%d-%d %d:%d:%d",
&tm.tm_year, &tm.tm_mon, &tm.tm_mday,
&tm.tm_hour, &tm.tm_min, &tm.tm_sec);
tm.tm_year -= 1900;
tm.tm_mon--;
return mktime(&tm);
}
time_t addDay(time_t time1,int days)
{
return (time1+days*60*60*24 + 28800);
}
time_t minusDay(time_t time1,int days)
{
return (time1-(days*60*60*24-28800));
}
int main(int argc,char** argv)
{
// char timeStamp[100] = "2014-02-28 23:59:59";
if (argc<=0)
{
return -1;
}
char arr[50];
strcpy(arr,argv[1]);
strcat(arr," ");
strcat(arr,argv[2]);
//cout << "arr " << arr << endl;
time_t t = strTime2unix(arr);
/*cout << "t " <<t << endl;
cout << "---------------" << endl;*/
time_t t_2 = addDay(t,1);//时间时间戳相加
// cout << "t2 " <<t << endl;
//cout << t_2 << endl;
// additional
//cout << ctime(&t_2) << endl;
struct tm *p1=gmtime(&t_2);
char s1[100];
strftime(s1, sizeof(s1), "%Y-%m-%d %H:%M:%S", p1);
printf("时间相加:%s\n",s1);
time_t t_3 = minusDay(t,1);//时间时间戳相减
struct tm *p2=gmtime(&t_3);
char s2[100];
strftime(s2, sizeof(s2), "%Y-%m-%d %H:%M:%S", p2);
printf("时间相减:%s\n",s2);
return 0;
}
#include <ctime>
#include <cstring>
using namespace std;
time_t strTime2unix(char timeStamp[])
{
struct tm tm;
memset(&tm, 0, sizeof(tm));
sscanf(timeStamp, "%d-%d-%d %d:%d:%d",
&tm.tm_year, &tm.tm_mon, &tm.tm_mday,
&tm.tm_hour, &tm.tm_min, &tm.tm_sec);
tm.tm_year -= 1900;
tm.tm_mon--;
return mktime(&tm);
}
time_t addDay(time_t time1,int days)
{
return (time1+days*60*60*24 + 28800);
}
time_t minusDay(time_t time1,int days)
{
return (time1-(days*60*60*24-28800));
}
int main(int argc,char** argv)
{
// char timeStamp[100] = "2014-02-28 23:59:59";
if (argc<=0)
{
return -1;
}
char arr[50];
strcpy(arr,argv[1]);
strcat(arr," ");
strcat(arr,argv[2]);
//cout << "arr " << arr << endl;
time_t t = strTime2unix(arr);
/*cout << "t " <<t << endl;
cout << "---------------" << endl;*/
time_t t_2 = addDay(t,1);//时间时间戳相加
// cout << "t2 " <<t << endl;
//cout << t_2 << endl;
// additional
//cout << ctime(&t_2) << endl;
struct tm *p1=gmtime(&t_2);
char s1[100];
strftime(s1, sizeof(s1), "%Y-%m-%d %H:%M:%S", p1);
printf("时间相加:%s\n",s1);
time_t t_3 = minusDay(t,1);//时间时间戳相减
struct tm *p2=gmtime(&t_3);
char s2[100];
strftime(s2, sizeof(s2), "%Y-%m-%d %H:%M:%S", p2);
printf("时间相减:%s\n",s2);
return 0;
}
相关文章推荐
- Java对日期Date类进行加减运算,年份加减,月份加减
- Java对日期Date类进行加减运算,年份加减,月份加减,时间差等等
- 将日期进行加减运算
- Java对日期Date类进行加减运算,年份加减,月份加减
- Java对日期Date类进行加减运算,年份加减,月份加减
- Java对日期Date类进行加减运算一二三
- Java对日期Date类进行加减运算,年份加减,月份加减
- Java对日期Date类进行加减运算,年份加减,月份加减
- java对日期Date类进行加减运算,年份加减,月份加减
- Java对日期Date类进行加减运算,年份加减,月份加减
- Java对日期Date类进行加减运算、年份加减月份加减、时间差等等
- Java对日期Date类进行加减运算,年份加减,月份加减
- Java对日期Date类进行加减运算,年份加减,月份加减
- java对日期Date类进行加减运算、年份加减,月份加减
- Java对日期Date类进行加减运算,年份加减,月份加减
- java对日期Date类进行加减运算、年份加减,月份加减
- Java对日期Date类进行加减运算,年份加减,月份加减
- 【转】Java对日期Date类进行加减运算,年份加减,月份加减
- java中日期如何进行加减运算???
- Java对日期Date类进行加减运算,年份加减,月份加减