localtime是获取当前时间的tm结构体的值,返回一个指针,如果多次调用,返回的地址是一样的。这样就会出现一个小问题,如果你先获取任意一个时间点time_t time1对应的tm tm1时间,这时使用了一次localtime。这是如果你在此使用localtime来获取tm tm2时间time2,这时localtime返回的指针所指向的内容就会改变,这时tm1和tm2其实是一样的。

如何避免这种情况呢,就是调用完一次localtime获取到tm后就去使用,或者备份起来。才在去调用localtime。

void test()
{time_t rawtime = time(NULL);rawtime -= 3601;struct tm * timeinfo;timeinfo = localtime (&rawtime);printf ("Current local time and date: %s", asctime(timeinfo));   int lasthour = timeinfo->tm_hour;time_t nowTime  = time(NULL);struct tm *tmNow;tmNow = localtime ( &nowTime );int nowhour = tmNow->tm_hour;printf ("Current local time and date: %s", asctime(tmNow));//输出指针指向地址printf(" %0x, %0x \n", timeinfo, tmNow);printf("hour %d, %d \n", lasthour, nowhour);printf ("Current local time and date: %s\n", asctime(timeinfo));printf ("Current local time and date: %s\n", asctime(tmNow));}

运行结果

Current local time and date: Sat Jun 27 14:03:26 2020
Current local time and date: Sat Jun 27 15:03:27 2020b6ea0bf4, b6ea0bf4
hour 14, 15
Current local time and date: Sat Jun 27 15:03:27 2020Current local time and date: Sat Jun 27 15:03:27 2020

localtime函数使用相关推荐

  1. C++使用localtime函数需要注意的地方

    在处理时间时用到了localtime这个函数,将一个UTC时间转为本地时间: [cpp] view plain copy #include <time.h> time_t tmNow =  ...

  2. localtime函数和strftime函数

    localtime函数 功能: 把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为本地时间,而gmtime函数转换后的时间没有经过时区变换,是UTC时间 . 用法: #include & ...

  3. time 函数,localtime函数

    1. time 函数返回1970-1-1, 00:00:00以来经过的秒数原型: time_t time(time_t *calptr) 结果可以通过返回值,也可以通过参数得到,见实例头文件 < ...

  4. 自己写 localtime 函数(含完整注释,代码)转载

    localtime()在多线程中使用的少的时候是不会出错的 现localtime和ctime等函数在linux中的返回值均存放在一个静态区中,即TLS变量.如果在多线程程序中比较频繁的调用此函数,则可 ...

  5. linux c设置系统时间函数,Linux C 中获取local日期和时间 time()localtime()函数

    #include #define _DATETIME_SIZE 32 // GetDate - 获取当前系统日期 /** * 函数名称:GetDate * 功能描述:取当前系统日期 * * 输出参数: ...

  6. localtime()函数基础使用

    以下均为个人理解: 1.localtime 将 time_t (从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数,是一个8字节长度的有符号整数)格式数据转化为以下结构体形式: s ...

  7. C语言的time函数和localtime函数

    1.获取当前时间,并获取当前时间(即系统时间)距离1970年1月1日的时间间隔,以秒为单位. 2.获取指定时间距离1970年1月1日的时间间隔,以秒为单位. 转载于:https://www.cnblo ...

  8. time.h中的相关计时函数time,localtime,clock等详解

    C++对时间的操作也有许多值得大家注意的地方.最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作.获取和显示等等的问题.下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法 ...

  9. Perl中state()和localtime()函数

    stat函数 perl下的stat函数和shell下的stat命令的功能基本一致,也是取得文件的各类具体信息: stat()函数返回一个数组,下面是数组各个元素的含义: 0     dev      ...

最新文章

  1. dede 怎样调用其它栏目的文章或者缩略图列表且有分页效果?
  2. 微软一站式示例代码库 7月新代码示例发布
  3. boost::hana::hash用法的测试程序
  4. Sublime Text提示Unable to download XXX. Please view the console for more details安装插件失败解决
  5. java socket 实现增删改查 + 在线答题小案例
  6. Linux的实际操作:关机shutdown、重启reboot、用户注销logout
  7. c++ primer 3.6节练习答案
  8. 二进制拆弹实验详解_Population Count算法-求二进制数中1的个数
  9. 网站建设页面设计中CSS正确书写
  10. 极限学习机︱R语言快速深度学习进行回归预测
  11. 《构建之法》阅读笔记二
  12. undo歌词中文音译_《U-n-d-e-r–STANDING!》中文歌词及音译
  13. 乒乓球比赛赛程_2020乒乓球比赛赛程表
  14. 武汉大学计算机系就业方向如何,武汉大学有什么王牌专业?它们的就业在哪些方向?...
  15. Frame Bounds 区别
  16. SEO原创和伪原创文章的一些技巧
  17. VR产品为什么没有火起来
  18. 如何在局域网中查看其他电脑上的文件
  19. 分享一个简易的AT变速箱(TCU)换挡逻辑控制模型
  20. Linux——shell

热门文章

  1. Angular中的指令(Directives)
  2. 搜图出处的软件_【识图】怎样查找图片的来源出处,又快又好
  3. (ICPR 20) DIP: Distinctive 3D local deep descriptors
  4. Vivado:【1】Vivado 2018.3 配置ModelSim仿真
  5. MATLAB线形规划函数linprog、intlinprog与二次规划函数quadprog
  6. sql中的日期和字符串的转化
  7. SAP---安装方法
  8. npm引入gojs如何去除水印
  9. 【PyTorch】深度学习实践之CNN高级篇——实现复杂网络
  10. 记一次rc.local中python脚本无法运行的解决过程