文档章节

C++ 对日期进行加减运算

房乔
 房乔
发布于 2017/04/11 15:36
字数 222
阅读 443
收藏 0

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

© 著作权归作者所有

房乔
粉丝 0
博文 13
码字总数 2637
作品 0
广州
程序员
私信 提问
C语言编程学习:写的秒速计算四则混合运算项目

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/06/05
0
0
C语言编程入门基础学习:控制语句之switch/case语句

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/05/29
0
0
C++ STL编程轻松入门 5

2.2.3 第三版:唯美主义的杰作   事态的发展有时候总会趋向极端,这在那些唯美主义者当中犹是如此。首先声明,我并不是一个唯美主义者,提供第二版程序的改进版,完全是为了让你更深刻的感...

暖冰
2015/11/21
0
0
C语言编程新手入门项目实战学习——制作一个电子时钟

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/03/16
0
0
odb 1.4.0 发布,C++的ORM框架

该版本最主要的改进就是保护对 Qt 基本类型、日期时间类型、智能指针、容器等对象类型的支持,支持 C++ 枚举和 数据库 ENUM 类型。 ODB 是一个开源的,支持多平台,支持多数据库的 C++ 的 OR...

红薯
2011/04/27
441
0

没有更多内容

加载失败,请刷新页面

加载更多

php 遇到 No input file specified的解决方法

(一)IIS Noinput file specified 方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS 方法二: 请修改php.ini 找到 ; cgi.force_redirect = 1 去掉前面分号,把后面的1...

chenhongjiang
今天
5
0
MySQL 基础

一、常用命令 在命令行中,配置好环境变量后,通过cmd可以直接进入mysql命令行模式,同时列举几种常用命令 # 进入mysql数据库,密码可以先不写,打完-p后再输入,防止被别人看到mysql -u账...

华山猛男
今天
6
0
简单的博客系统(四)Django请求HTML页面视图信息--基于函数的视图

1. 编写用于查询数据的功能函数 应用目录 下的 views.py 文件通常用于保存响应各种请求的函数或类 from django.shortcuts import renderfrom .models import BlogArticles# Create your ...

ZeroBit
今天
5
0
用脚本将本地照片库批量导入到Day One中

因为目前iCloud 空间已经不足,其中95%都是照片,之前入手了DayOne,且空间没有限制,订阅费一年也不少,再加上DayOne作为一款日记App 也比较有名,功能方面最大的就是地理视图与照片视图,尤...

在山的那边
昨天
19
0
jupyter部署安装

python373 -m ipykernel install --name python373 ipython kernelspec list sc create myjupyterservice binpath="D:\apply\Python373\Scripts\jupyter-notebook --config=V:/my_work/jupyt......

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部