Chinaunix首页 | 论坛 | 博客
  • 博客访问: 181083
  • 博文数量: 96
  • 博客积分: 4060
  • 博客等级: 上校
  • 技术积分: 1040
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-12 13:13
文章分类

全部博文(96)

文章存档

2011年(3)

2010年(76)

2009年(17)

我的朋友

分类: C/C++

2009-10-12 14:32:16

nowp:0x2d4300
ltp:0x2d4300

由于系统的localtime应该是这么实现的
  struct   tm   *localtime(   const   time_t   *time   )  
  {  
  static   struct   tm   _tm;  
  ...  
  return   &_tm;  
  }

在我们比较两个时间的时候,我们如果连续用这个函数,会让两个       
now = localtime(&t);
lt = localtime(&timer);
一样,因为他们的地址是一样的
strftime
解决方法:我们可以每次得到返回值就用strftime,处理作为保存数据。然后比较strftime得到的字符串。

补充localtime的作用(看返回值就可以知道了):

struct tm *localtime(const time_t *timep);

           struct tm {
               int tm_sec;         /* seconds */
               int tm_min;         /* minutes */
               int tm_hour;        /* hours */
               int tm_mday;        /* day of the month */
               int tm_mon;         /* month */
               int tm_year;        /* year */
               int tm_wday;        /* day of the week */
               int tm_yday;        /* day in the year */
               int tm_isdst;       /* daylight saving time */
           };

阅读(445) | 评论(0) | 转发(0) |
0

上一篇:vim simple operation summary

下一篇:gtk rc

给主人留下些什么吧!~~