linux应用编程学习(1)时间类
来源:互联网 发布:mysql给root设置权限 编辑:程序博客网 时间:2024/05/21 19:25
时间类型:
Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。
Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数”来表示的时间。
1.1.获取日历时间
获取日历时间: time_t time(time_t *t);
所属头文件: time.h
返回值: 成功:返回日历时间 失败:((time_t) -1)
参数说明: t:不为空的情况保存返回值
- #include <time.h>
- void main()
- {
- time_t ctime;
- ctime = time(NULL);
- printf("time is %d.\n",ctime);
- }
1.2.获取世界标准时间: struct tm *gmtime(const time_t *timep);
将参数timep所指定的日历时间转化为世界标准时间
所属头文件: time.h
返回值: 成功:返回世界标准时间,以struct tm形式存储的 失败:-1
参数说明: timep:待转化的时间
注意:此处参数是time_t的指针
- #include <time.h>
- void main()
- {
- time_t ctime;
- struct tm *tm_p;
- ctime = time(NULL);
- /*将日历时间转化为世界标准时间*/
- tm_p = gmtime(&ctime);
- printf("UTC is %d:%d:%d.\n",tm_p->tm_hour,tm_p->tm_min,tm_p->tm_sec);
- }
1.3.获取本地时间: struct tm *localtime(const time_t *timep);
将参数timep所指定的日历时间转化为本地时间
所属头文件:
返回值: 成功:返回struct tm本地时间 失败:返回NULL
参数说明: timep:待转化的日历时间
- #include <time.h>
- void main()
- {
- time_t ctime;
- struct tm *tm_p;
- ctime = time(NULL);
- tm_p = localtime(&ctime);
- if(tm_p == NULL)
- {
- printf("get time failed.\n");
- return;
- }
- printf("localtime is %d:%d:%d.\n", tm_p->tm_hour,tm_p->tm_min, tm_p->tm_sec);
- }
1.4.以字符串方式显示时间:
char *asctime(const struct tm *tm);
将struct tm 格式的时间转化为字符串
所属头文件:
返回值: 成功:描述值 失败:-1
参数说明: tm:待转化的tm格式的时间
- #include <time.h>
- void main()
- {
- time_t ctime;
- struct tm *tm_p;
- char *tm_str;
- ctime = time(NULL);
- tm_p = localtime(&ctime);
-
- tm_str = asctime(tm_p);
- if(tm_str == NULL)
- {
- printf("asctime get failed.\n");
- return;
- }
- printf("asctime is %s",tm_str);
- }
1.5.获取高精度时间:
int gettimeofday(stuct timeval *tv,struct timezone *tzone);
获取高精度的时间
所属头文件:
返回值: 成功:0 失败:-1
参数说明: tv:保存从1970年1月1日0:0:0 到现在经历的秒数和微妙数
tzone:通常为NULL
这里我想定义一个结构体指针来实现,发现总是无法获取时间。ret一直是-1;
后来是需要对该指针开辟一个空间,才能使用。
- #include <time.h>
- #include <sys/time.h>
- void func()
- {
- int i,j;
- int ret = 0;
-
- for(i=0;i<1000;i++)
- for(j=0;j<1000;j++)
- ret++;
- }
- void main()
- {
- struct timeval *tv1_p;
- struct timeval tv2;
- int ret;
- tv1_p = (struct timeval*)malloc(sizeof(struct timeval));
- ret = gettimeofday(tv1_p , NULL);
- if(ret == -1)
- {
- printf("get time of day failed.\n");
- return;
- }
-
- func();
- ret = gettimeofday(&tv2 , NULL);
- if(ret == -1)
- {
- printf("get time of day failed.\n");
- return;
- }
-
- printf("seconds is %d\nmicroseconds is %d\n",tv1_p->tv_sec - tv2.tv_sec
- ,tv1_p->tv_usec - tv2.tv_usec);
-
- }
上一篇:系统函数学习
下一篇:linux应用编程学习(2)系统调用文件类
- 欢迎天涯学习在ChinaUnix博客...
- Win10+Qt5.6+OpenCV3.1__相关...
- Python 包管理工具解惑
- Qt学习笔记---信号与槽...
- APP开发报价单,如何计算APP报...
- linux 常见服务端口
- xmanager 2.0 for linux配置
- 【ROOTFS搭建】busybox的httpd...
- openwrt中luci学习笔记
- 什么是shell
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
- linux应用编程学习(1)时间类
- Linux应用 - 时间编程
- linux时间编程学习
- linux应用开发-时间编程
- Linux应用编程之时间编程
- Linux应用编程之时间编程
- linux 应用程序设计基础--时间编程
- Linux 应用层的时间编程
- linux 学习- 编程基础之时间编程
- Linux学习日记--简单Linux时间编程
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- [转]浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- TestFlight无法提交构建版本
- 7.基数排序
- 用eclipse通过JlinkGDB Server不能单步调试问题
- cannot execute binary file 的问题
- 系统函数学习
- linux应用编程学习(1)时间类
- 古代文化常识
- linux应用编程学习(2)系统调用文件类
- JAVA基础【3.7】《Java核心技术1》Java的基本程序设计结构-输入输出
- 树莓派开发之路1.11.2
- linux应用编程学习(3)库函数文件类
- eclipse中tomcat自动部署时自动停止问题processWorkerExit(w, completedAbruptly)
- linux应用编程学习(4)多进程编程
- XSCJ数据库样本数据