某哥让我看看如下代码输出什么结果:

#include <iostream>
#include <string>
#include <ctime>
using namespace std;int getTime(int& iBegin, int& iEnd, int days)
{time_t tNow;time(&tNow);    struct tm tmp_time =  *(struct tm*)localtime(&tNow);char szTmp[32]={0};snprintf(szTmp, sizeof(szTmp), "%d%02d%02d", tmp_time.tm_year + 1900,tmp_time.tm_mon + 1, tmp_time.tm_mday);iBegin = atoi(szTmp);tNow = tNow + days*86400;tmp_time = *(struct tm*)localtime(&tNow);memset(szTmp,sizeof(szTmp), 0);snprintf(szTmp, sizeof(szTmp), "%d%02d%02d", tmp_time.tm_year + 1900,tmp_time.tm_mon + 1, tmp_time.tm_mday);iEnd = atoi(szTmp);return 0;
}int main()
{int iBegin;  int iEnd;getTime(iBegin, iEnd, 366);cout << iBegin << endl;cout << iEnd << endl;return 0;
}

今天本来是2017年3月25日, 而程序的结果是:

20170326
20180327

于是乎, 我就得出这样一个结论: 这个时间是从明天开始, 1年的时间跨度。  于是根据这个逻辑, 进行判断, 发了个版本, 马上就看到了异常。 原来, 虽然今天是2017年3月25日, 但在这台linux机器上, date命令显示的却是2017年3月26日。 所以, 这段代码的真实含义是:从今天开始, 1年的时间跨度。

坑填平了, 就这样。 以后涉及到linux的时间问题, 千万别忘了看机器本身的时间, date命令搞起。

与本地程序相关的一个bug------要配合利用date命令观察才好!相关推荐

  1. 程序员修复一个bug的心路历程,太形象了

    和你们一样,我也是一个普普通通的前端开发者,在日常工作中,大部分时间不是在写新代码,而是在改代码,或是需求被改了,或是报bug了. 当别人想我们报一个bug,直到我们把bug完整的修复好,整个过程是一 ...

  2. 『转』度百死去飞秋一个BUG引发的血案

    作了一篇文章度百死去飞秋一个BUG引发的血案,昨天,度百死去的美国客户发邮件给我,说我的软件出问题了,我查来查去,发现居然是服务器上一个目录无法删除,一删除就报 cannot read from th ...

  3. 如何在RCP程序中添加一个banner栏

    前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力.以前有个客户提出要在RCP程序中添加一个bann ...

  4. 记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径。)

    记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径.) 第一想法是路径问题: 1.检查文件路径是否正确 2.另外 ...

  5. 程序员的忧桑:有人向你反馈了一个Bug!

    来源 | 搜狐号 | StuQ 作者 | NSFish 背景介绍:我是一个前端开发者,但我想这个故事对任何开发者都会引起共鸣的. 有人向你反馈了一个 bug. " 26 楼会议室的灯亮着.它 ...

  6. @程序员,你也是一杯茶,一支烟,一个BUG 改一天吗?

    最近温度越来越冷,我们办公室已经开启了暖气,进入冬天的状态了.每天早上从温暖的被窝里爬起来,喝一杯温热的白开水,总是格外的舒心,女孩子也可以喝一杯蜂蜜水,补充水分的同时又增加营养.或者来一杯早餐奶,填 ...

  7. 与单点金刚石车去除量相关的一个程序

    %% 与单点金刚石车去除量相关的一个程序 [X, Y] = meshgrid(1:12, 1:12) Z=rand(12,12) % 表示单点车之前切削面各点的矢高 subplot(1,2,1) su ...

  8. 《绝地求生》平底锅挡子弹bug,源于程序员的一个错误

    在<绝地求生>游戏里,平底锅可以算得上是神器了.在经过某次更新之后,玩家们惊奇地发现平底锅居然可以挡子弹,连一枪秒杀三级防的喷子都打不穿!玩家称这是个完美且好玩的设计,那么,平底锅到底是什 ...

  9. 软件测试培训分享:做软件测试工作如何清楚的描述一个bug

    一名合格的软件测试工程师是需要清楚的交代自己的工作任务的,必须要清楚的告诉技术员出现的bug,那么做软件测试工作如何清楚的描述一个bug呢?来看看下面的详细介绍. 软件测试培训分享:做软件测试工作如何 ...

最新文章

  1. Kali Linux2018 上安装open-vm-tools实现虚拟机交互
  2. java 抛异常 jvm_邪恶的Java技巧使JVM忘记检查异常
  3. linux shell 脚本 supress,《linux Shell 脚本攻略》进阶学习(第一部分)
  4. 广东 职称英语计算机,现在评职称英语和计算机都不用考了
  5. 经典解释监视器和对象锁
  6. mysql路径猜解_猜解数据库(MYSQL)信息
  7. DbEntry 访问Access2010数据库
  8. 牛顿法求函数零点和极值点
  9. 修改Android应用名称
  10. 如何清除matlab工作区,matlab命令窗口中可用什么命令清除工作区中的变量
  11. 【无标题】HTMLCSS学习总结
  12. Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) | 解压安装
  13. 有些事情,现在不想就晚了
  14. 全国软考中级软件设计师 学习笔记-法律法规部分
  15. 如何修清净心?(净空老法师法语)
  16. 2021年低压电工考试报名及低压电工试题及解析
  17. python calu()_python使用配置文件过程详解
  18. Javascript中Window.open参数详解
  19. 基于matlab的bp神经网络,基于MATLAB的BP神经网络建模及系统仿真 (1)
  20. 三星oneui主屏幕费电_三星One UI初体验,你想要的使用感受都在这里

热门文章

  1. vscode中如何修改vetur配置_vsCode vetur自用配置
  2. EL表达式无效的解决方法
  3. ElasticSearch解决去重精度问题 scripted_metric 去重计数脚本计算高效率解决问题(二)
  4. C++ 设计模式之遵循原则
  5. Jsp中的get和post的区别
  6. 2019.11德国IT新闻回顾
  7. python长的横线怎么打_关于Python的前后、单双下划线作用,看完这篇文章,吊打面试官!...
  8. MTCNN算法及代码笔记
  9. opencv定位十字交叉点(python)
  10. 城市大脑智慧交通小脑建设赋能城市交通服务