时间
2016-03-16 10:41
337 查看
shell操作时间
系统调用:strftime(),currTime()
3、获取和转换日历时间
系统调用:strptime()
4,时区
系统调用:setlocale(),settimeofday(),adjtime(),
5、软件时钟
可配置的内核选项,常见的300赫兹可以被视频帧速度25帧每秒(PAL)和30(NTSC)整除,250赫兹(默认)
6、进程时间
系统调用:times(),clock()。
1 date #查看或者设置系统时钟 2 cal 3 ncal 4 calendar 5 time cal <span style="font-size:14px;color:#333333;background-color:#FFFFFF;line-height:25px;white-space:pre-wrap;">system-config-date #图形化修改</span> hwclock #硬件时间 查看设置与同步
</pre></p><p></p><p>1,获取和转换日期时间(Calendar Time)</p><p>系统调用:gettimeofday(),time(),ctime(),gmtime(),localtime(),mktime(),asctime().</p><p><pre name="code" class="objc"> 19 #include <locale.h> 20 #include <time.h> 21 #include <sys/time.h> 22 #include <stdio.h> 23 #include <stdlib.h> 24 #define SECONDS_IN_TROPICAL_YEAR (365.24219*24*60*60) 25 #define S_Y SECONDS_IN_TROPICAL_YEAR 26 27 int 28 main(int argc,char *argv[]) 29 { 30 time_t t; 31 struct tm *gmp, *locp; 32 struct tm gm,loc; 33 struct timeval tv; 34 35 t = time(NULL); 36 printf("Seconds since the Epoch(1 Jan 1970):%ld\t", (long)t); 37 printf("(about %6.3f years)\n", t/S_Y); 38 39 if (gettimeofday(&tv, NULL) == -1) 40 exit(EXIT_FAILURE); 41 printf(" gettimeofday() return %ld secs,%ld microsecs\n", 42 (long) tv.tv_sec, (long) tv.tv_usec); 43 44 gmp = gmtime(&t); 45 if (gmp == NULL) 46 exit(-1); 47 gm = *gmp; /*save local copy, since *gmp may be modified by asctime() or gmtime() */ 48 printf("Broken down by gmtime():\n"); 49 printf(" year:mon:mday:hour:min:sec = %d %d %d %d %d %d %d\t", 50 gm.tm_year, gm.tm_mon, gm.tm_mday, gm.tm_hour, gm.tm_min, gm.tm_sec); 51 printf("wday:yday:isdst = %d %d %d\n", 52 gm.tm_wday, gm.tm_yday, gm.tm_isdst); 53 54 locp = localtime(&t); 55 if (locp == NULL) 56 exit(-1); 57 loc = *locp; /*save local copy*/ 58 printf("Broken down by localtime():\n"); 59 printf(" year:mon:mday:hour:min:sec = %d %d %d %d %d %d %d\t", 60 loc.tm_year, loc.tm_mon, loc.tm_mday, loc.tm_hour, loc.tm_min, loc.tm_sec); 61 printf("wday:yday:isdst = %d %d %d\n", 62 loc.tm_wday, loc.tm_yday, loc.tm_isdst); 63 64 printf("asctime() formats the gmtime() value as:%s", asctime(&gm)); 65 printf("ctime() formats the time() value as: %s", ctime(&t)); 66 67 printf("mktime() of gmtime() value: %ld secs\n", (long)mktime(&gm)); 68 printf("mktime() of localtime() value: %ld secs\n", (long)mktime(&loc)); 69 return 0; 70 } 71 #output Seconds since the Epoch(1 Jan 1970):1458092949 (about 46.205 years) gettimeofday() return 1458092949 secs,76250 microsecs Broken down by gmtime(): year:mon:mday:hour:min:sec = 116 2 16 1 49 9 -1437482552 wday:yday:isdst = 3 75 0 Broken down by localtime(): year:mon:mday:hour:min:sec = 116 2 16 9 49 9 -1437482552 wday:yday:isdst = 3 75 0 asctime() formats the gmtime() value as:Wed Mar 16 01:49:09 2016 ctime() formats the time() value as: Wed Mar 16 09:49:09 2016 mktime() of gmtime() value: 1458064149 secs mktime() of localtime() value: 1458092949 secs2、返回当前时间的字符串
系统调用:strftime(),currTime()
#include <time.h> #include <stdio.h> #include <stdlib.h> #define BUF_SIZE 1000 char * currTime(const char *format) { static char buf[BUF_SIZE]; /* Nonreentrant*/ time_t t; size_t s; struct tm *tm; t = time(NULL); tm = localtime(&t); if (tm == NULL) return NULL; s = strftime(buf, BUF_SIZE, (format != NULL) ? format : "%c", tm); return (s == 0) ? NULL : buf; }
3、获取和转换日历时间
系统调用:strptime()
19 #define _XOPEN_SOURCE 20 #include <time.h> 21 #include <locale.h> 22 #include <stdlib.h> 23 #include <stdio.h> 24 25 #define SBUF_SIZE 1000 26 27 int 28 main(int argc, char *argv[]) 29 { 30 struct tm tm; 31 char sbuf[SBUF_SIZE]; 32 char *ofmt; 33 34 if (argc < 3 || strcmp(argv[1], "--help") == 0){ 35 printf("%s input-date-time in-format [out-foramt]\n", argv[0]); 36 exit(-1); 37 } 38 39 if(setlocale(LC_ALL,"") ==NULL) 40 exit(-1); 41 42 memset(&tm, 0, sizeof(struct tm)); 43 if (strptime(argv[1],argv[2], &tm) == NULL) 44 exit(-1); 45 46 tm.tm_isdst = -1; 47 printf("calendar time (seconds since Epoch): %ld\n", (long) mktime(&tm)); 48 49 ofmt = (argc > 3) ? argv[3] :"%H:%M:%S %A, %d %B %Y %Z"; 50 if (strftime(sbuf, SBUF_SIZE, ofmt, &tm) == 0) 51 exit(-1); 52 printf("strftime() yields: %s\n", sbuf); 53 54 return 0; 55 } #output $ ./a.out "9:39:46pm 1 Feb 2016" "%I:%M:%S%p %d %b %Y" calendar time (seconds since Epoch): 1454333986 strftime() yields: 21:39:46 星期一, 01 二月 2016 CST $ ./a.out "9:39:46pm 1 Feb 2016" "%I:%M:%S%p %d %b %Y" "%F %T" calendar time (seconds since Epoch): 1454333986 strftime() yields: 2016-02-01 21:39:46
4,时区
系统调用:setlocale(),settimeofday(),adjtime(),
5、软件时钟
可配置的内核选项,常见的300赫兹可以被视频帧速度25帧每秒(PAL)和30(NTSC)整除,250赫兹(默认)
6、进程时间
系统调用:times(),clock()。
相关文章推荐
- find new friend
- 全国软件---------欧拉与鸡蛋
- Cocos2dx -- 入门之 lua 调用 c++
- Cobar使用文档(可用作MySQL大型集群解决方案)
- Bzoj 1222: [HNOI2001]产品加工 动态规划
- F5 IIS Log获取客户端源IP
- 0316 复利计算总结(0330 更新)
- java开发的企业开发和app应用开发的区别及误区
- 软件工程—实验报告
- runtime 获取网络状态
- 多 SSH Key 管理技巧与 Git 多账户登录问题
- 远程桌面连接 不能远程复制
- MathType6.9与Word2010兼容问题的解决
- javascript学习心得
- popuwindow使用wheel的省市区互联
- Activiti 简易教程二 version5.10升级version5.12.1
- 搜索、引擎、优化、营销(点位思考)
- 深入VR之前 你应该知道VR头显透镜原理
- jquery.qrcode笔记
- spring事务管理(个人整理)