与本地程序相关的一个bug------要配合利用date命令观察才好!
某哥让我看看如下代码输出什么结果:
#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命令观察才好!相关推荐
- 程序员修复一个bug的心路历程,太形象了
和你们一样,我也是一个普普通通的前端开发者,在日常工作中,大部分时间不是在写新代码,而是在改代码,或是需求被改了,或是报bug了. 当别人想我们报一个bug,直到我们把bug完整的修复好,整个过程是一 ...
- 『转』度百死去飞秋一个BUG引发的血案
作了一篇文章度百死去飞秋一个BUG引发的血案,昨天,度百死去的美国客户发邮件给我,说我的软件出问题了,我查来查去,发现居然是服务器上一个目录无法删除,一删除就报 cannot read from th ...
- 如何在RCP程序中添加一个banner栏
前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力.以前有个客户提出要在RCP程序中添加一个bann ...
- 记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径。)
记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径.) 第一想法是路径问题: 1.检查文件路径是否正确 2.另外 ...
- 程序员的忧桑:有人向你反馈了一个Bug!
来源 | 搜狐号 | StuQ 作者 | NSFish 背景介绍:我是一个前端开发者,但我想这个故事对任何开发者都会引起共鸣的. 有人向你反馈了一个 bug. " 26 楼会议室的灯亮着.它 ...
- @程序员,你也是一杯茶,一支烟,一个BUG 改一天吗?
最近温度越来越冷,我们办公室已经开启了暖气,进入冬天的状态了.每天早上从温暖的被窝里爬起来,喝一杯温热的白开水,总是格外的舒心,女孩子也可以喝一杯蜂蜜水,补充水分的同时又增加营养.或者来一杯早餐奶,填 ...
- 与单点金刚石车去除量相关的一个程序
%% 与单点金刚石车去除量相关的一个程序 [X, Y] = meshgrid(1:12, 1:12) Z=rand(12,12) % 表示单点车之前切削面各点的矢高 subplot(1,2,1) su ...
- 《绝地求生》平底锅挡子弹bug,源于程序员的一个错误
在<绝地求生>游戏里,平底锅可以算得上是神器了.在经过某次更新之后,玩家们惊奇地发现平底锅居然可以挡子弹,连一枪秒杀三级防的喷子都打不穿!玩家称这是个完美且好玩的设计,那么,平底锅到底是什 ...
- 软件测试培训分享:做软件测试工作如何清楚的描述一个bug
一名合格的软件测试工程师是需要清楚的交代自己的工作任务的,必须要清楚的告诉技术员出现的bug,那么做软件测试工作如何清楚的描述一个bug呢?来看看下面的详细介绍. 软件测试培训分享:做软件测试工作如何 ...
最新文章
- Kali Linux2018 上安装open-vm-tools实现虚拟机交互
- java 抛异常 jvm_邪恶的Java技巧使JVM忘记检查异常
- linux shell 脚本 supress,《linux Shell 脚本攻略》进阶学习(第一部分)
- 广东 职称英语计算机,现在评职称英语和计算机都不用考了
- 经典解释监视器和对象锁
- mysql路径猜解_猜解数据库(MYSQL)信息
- DbEntry 访问Access2010数据库
- 牛顿法求函数零点和极值点
- 修改Android应用名称
- 如何清除matlab工作区,matlab命令窗口中可用什么命令清除工作区中的变量
- 【无标题】HTMLCSS学习总结
- Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) | 解压安装
- 有些事情,现在不想就晚了
- 全国软考中级软件设计师 学习笔记-法律法规部分
- 如何修清净心?(净空老法师法语)
- 2021年低压电工考试报名及低压电工试题及解析
- python calu()_python使用配置文件过程详解
- Javascript中Window.open参数详解
- 基于matlab的bp神经网络,基于MATLAB的BP神经网络建模及系统仿真 (1)
- 三星oneui主屏幕费电_三星One UI初体验,你想要的使用感受都在这里
热门文章
- vscode中如何修改vetur配置_vsCode vetur自用配置
- EL表达式无效的解决方法
- ElasticSearch解决去重精度问题 scripted_metric 去重计数脚本计算高效率解决问题(二)
- C++ 设计模式之遵循原则
- Jsp中的get和post的区别
- 2019.11德国IT新闻回顾
- python长的横线怎么打_关于Python的前后、单双下划线作用,看完这篇文章,吊打面试官!...
- MTCNN算法及代码笔记
- opencv定位十字交叉点(python)
- 城市大脑智慧交通小脑建设赋能城市交通服务