linux时间函数(2)

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

/* gettime2.c*/

#include <time.h>

 

int main()

{

time_t timep;

 

time(&timep); /*获取time_t类型当前时间*/

/*转换为常见的字符串:Fri Jan 11 17:04:08 2008*/

printf("%s", ctime(&timep));

return 0;

}

编译并运行:

$gcc -o gettime2 gettime2.c

$./gettime2

Sat Jan 12 01:25:29 2008

我看了一本书上面说的这两个例子如果先后执行的话,两个的结果除了秒上有差别之外(执行程序需要时间),应该是一样的,可是我这里执行却发现差了很长时间按,一个是周五,一个是周六,后来我用date 命令执行了一遍

$date

六1月12 01:25:19 CST 2008

我发现date和gettime2比较一致, 我估计可能gettime1并没有经过时区的转换,它们是有差别的。

下载: gettime3.c

/*gettime3.c */

#include <time.h>

 

int main()

{

char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};

time_t timep;

struct tm *p;

 

time(&timep); /*获得time_t结构的时间,UTC时间*/

p = gmtime(&timep); /*转换为struct tm结构的UTC时间*/

printf("%d/%d/%d ", 1900 + p->tm_year, 1 + p->tm_mon, p->tm_mday);

printf("%s %d:%d:%d\n", wday[p->tm_wday], p->tm_hour,

p->tm_min, p->tm_sec);

return 0;

}

编译并运行:

$gcc -o gettime3 gettime3.c

$./gettime3

2008/1/11Fri 17:42:54

从这个时间结果上来看,它和gettime1保持一致。

下载: gettime4.c

/*gettime4.c*/

#include <time.h>

 

int main()

{

char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};

time_t timep;

struct tm *p;

 

time(&timep); /*获得time_t结构的时间,UTC时间*/

p = localtime(&timep); /*转换为struct tm结构的当地时间*/

printf("%d/%d/%d ", 1900 + p->tm_year, 1 + p->tm_mon, p->tm_mday);

printf("%s %d:%d:%d\n", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);

return 0;

}

编译并运行:

$gcc -o gettime4 gettime4.c

$./gettime4

2008/1/12Sat 1:49:29

从上面的结果我们可以这样说:

time, gmtime, asctime 所表示的时间都是UTC时间,只是数据类型不一样,而

localtime, ctime 所表示的时间都是经过时区转换后的时间,它和你用系统命令date所表示的CST时间应该保持一致。

下载: gettime5.c

/*gettime5.c*/

#include <time.h>

 

int main()

{

time_t timep;

struct tm *p;

 

time(&timep); /*当前time_t类型UTC时间*/

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

p = localtime(&timep); /*转换为本地的tm结构的时间按*/

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

推荐热点

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

快速直达

操作系统导航

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

豫ICP备11007008号-1