linux时间函数(3)

来源:未知 责任编辑:责任编辑 发表时间:2015-10-08 14:16 点击:

timep = mktime(p); /*重新转换为time_t类型的UTC时间,这里有一个时区的转换*/

printf("time()->localtime()->mktime(): %d\n", timep);

return 0;

}

编译并运行:

$gcc -o gettime5 gettime5.c

$./gettime5

time():1200074913

time()->localtime()->mktime(): 1200074913

这里面把UTC时间按转换为本地时间,然后再把本地时间转换为UTC时间,它们转换的结果保持一致。

下载: gettime6.c

/*gettime6.c */

#include <time.h>

 

int main()

{

time_t timep;

struct tm *p;

 

time(&timep); /*得到time_t类型的UTC时间*/

printf("time():%d\n",timep);

p = gmtime(&timep); /*得到tm结构的UTC时间*/

timep = mktime(p); /*转换,这里会有时区的转换*/

printf("time()->gmtime()->mktime(): %d\n", timep);

return 0;

}

编译并运行:

$gcc -o gettime6 gettime6.c

$./gettime6

time():1200075192

time()->gmtime()->mktime(): 1200046392

从这里面我们可以看出,转换后时间不一致了,计算一下,整整差了8个小时( (1200075192-1200046392)/3600 = 8 ),说明mktime会把本地时间转换为UTC时间,这里面本来就是UTC时间,于是再弄个时区转换,结果差了8个小时,用的时候应该注意。

 

 

      

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • /etc/fstab 详解
  •  LVS-NAT和LVS-DR模式的实现详解
  •  RHCE考试之磁盘配额
  • nginx主主集群
  •  LVM逻辑卷管理器
  • 学习笔记:ACL详解
  • suse linux双网卡双网关配置
  • puppet文件服务配置
  •  Nginx主主负载均衡架构

快速直达

操作系统导航

LinuxWindows虚拟机
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1