① 基本认识

UNIX系统时间主要分为两种: 日历时间 和 进程时间

② 日历时间

该时间是自协调时间时间 1970年1月1日 00:00:00这个特定时间来计算累积的秒数。(称为UTC 格林尼治标准时间)
时间值是存放在系统类型time_t里面.

③ 进程时间

也称为CPU时间.进程时间以时钟滴答计算. 每秒曾经取为50 60 或 100个时钟滴答. 时间值是存放在系统类型clock_t里面.

当度量一个进程执行时间时,UNIX系统为进程计算了三个时间值:
时钟时间.: 墙上时钟时间,他是进程运行的时间总量
用户CPU时间:系统执行用户指令需要的时间
系统CPU时间:执行内核程序(即运行内核接口等)所需要的时间 当然获取进程的进程时间很简单,譬如获取ls的进程时间:time ls,结果如下所示:

④获取Linux系统时间

命令显示系统时间:date

API获取系统时间 ① : time函数

#include <time.h> time_t time(time_t *t); 这个函数获取到的信息只是从1970年1月1日的UTC时间到现在的时间间隔.
当t非空时,t应该存放一个空间首地址,该空间类型应该是time_t类型 则time函数会把时间间隔存放在t指向的空间里面.
如果t为NULL,则time函数直接把时间间隔当成函数返回值返回.

API获取系统时间 ②: localtime_r() localtime()取得当地目前时间和日期
#include <time.h>

    struct tm *localtime(const time_t *timep);struct tm *localtime_r(const time_t *timep, struct tm *result);
该函数将有time函数获取的值timep转换真实世界所使用的时间日期表示方法,然后将结果由结构tm返回*//**需要注意的是localtime函数可以将时间转换本地时间,但是localtime函数不是线程安全的。因为locatime
返回的是进程全局共享资源(全局变量或者是静态局部变量),在多线程的环境中很容易出现非原子性操作!
多线程应用里面,应该用localtime_r函数替代localtime函数,因为localtime_r是线程安全的.

tm结构体类型具体如下所示:

API获取系统时间 ③: asctime() asctime_r() 将时间和日期以字符串格式返回

#include <time.h>struct tm *gmtime(const time_t *timep);struct tm *gmtime_r(const time_t *timep, struct tm *result);char *asctime(const struct tm *tm);char *asctime_r(const struct tm *tm, char *buf);*gmtime是把日期和时间转换为格林威治(GMT)时间的函数。*将参数time 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回*asctime 将时间以换为字符串字符串格式返回 

API获取系统时间 ④: ctime(),ctime_r() 将时间和日期以字符串格式表示

#include <time.h>
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep, char *buf);/**ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,*然后将结果以字符串形态返回*/

API获取系统时间 ⑤: mktime() 将时间结构体struct tm的值转化为经过的秒数

#include <time.h>time_t mktime(struct tm *tm);/**将时间结构体struct tm的值转化为经过的秒数*/

API获取系统时间 ⑤: gettimeofday() 获取当前时间

#include <sys/time.h>int gettimeofday(struct timeval *tv, struct timezone *tz);struct timeval {time_t      tv_sec;     /* seconds (秒)*/suseconds_t tv_usec;    /* microseconds(微秒) */};
struct timezone {int tz_minuteswest;     /* minutes west of Greenwich */int tz_dsttime;         /* type of DST correction */};
/**gettimeofday函数获取当前时间存于tv结构体中,相应的时区信息则存于tz结构体中*需要注意的是tz是依赖于系统,不同的系统可能存在获取不到的可能,因此通常设置为NULL*/

获取UNIX系统时间相关推荐

  1. c语言编程获取当前系统时间包含年,月,日,时,分,秒.,C语言获取系统时间的几种方式...

    核心提示:C语言中如何获取时间?精度如何?1使用time_ttime(time_t*timer)精确到秒2使用clock_tclock()得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3计 ...

  2. java 当前时间戳_通过各种方法 获取当前系统时间、时间戳

    php中,如何通过各种方法 获取当前系统时间.时间戳,并备注各种格式的含义,可灵活变通. 1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $time ...

  3. C 语言中获取系统时间的函数,C/C++如何获取当前系统时间的实例详解

    C/C++如何获取当前系统时间的实例详解 C库中与系统时间相关的函数定义在头文件中, C++定义在头文件中. 一.time(time_t*)函数 函数定义如下: time_t time (time_t ...

  4. JAVA中获取当前系统时间

    JAVA中获取当前系统时间 转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输 ...

  5. python获取当前时间的函数_java/python中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数...

    java转换成秒数 Date类有一个getTime()可以换回秒数,例如: public classDateToSecond {public static voidmain(String[] args ...

  6. Windows下C/C++获取当前系统时间

    Windows下CC获取当前系统时间 方案一localtime 优点仅使用C标准库缺点只能精确到秒级 方案二GetLocalTime sys   优点能精确到毫秒级缺点使用了windows API 方 ...

  7. 关于Java中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: 1 import java.util.Date; 2 import java.text.SimpleDateFormat; 3 4 public class ...

  8. Perl获取当前系统时间

    Perl获取当前系统时间 Perl 2010-12-06 10:41:57 阅读236 评论0   字号:大中小 订阅 perl有两个取得时间的函数:localtime和gmtime 两个函数的用法一 ...

  9. java怎么获取当前日期_JAVA中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...

最新文章

  1. 软件项目管理大作业_案例|P6软件在水电项目施工管理中的应用
  2. QIIME 2教程. 17鉴定和过滤嵌合体q2-vsearch(2020.11)
  3. # 对象json互相转换_推荐一款 Java 对象映射神器
  4. Vsphere 回收未消使用的磁盘空间
  5. 【直播回放】新手如何入门并学习计算机视觉?
  6. UbuntuKylin安装SUN JDK1.7
  7. linux 关闭自动升级,开启关闭Centos的自动更新(转)
  8. 面试总是死在网络协议,我该怎么办?
  9. 为什么Ruby方法中使用感叹号?
  10. 移动web-双飞翼(圣杯)布局
  11. 应用安全-软件安全-漏洞CVE整理
  12. 教材推荐 PRML_模式识别与机器学习
  13. android 拨号隐藏号码,技巧:手机隐藏代码大集合 知道五个以上是大神
  14. 小学数学题的Java实现
  15. win7计算机属性资源管理器停止工作,Win7系统Windows资源管理器已停止工作怎么解决?...
  16. ArcHydroTools 10.5版本的安装与使用(附下载链接与教程)
  17. JAVA NIO:NIO与OIO的对比以及Channel通道、Selector选择器、Buffer缓冲区的介绍 高并发
  18. Php静默授权,【公众号】微信第三方登录(静默授权和非静默授权)(具体代码:U盘 新浪云SAE)...
  19. 一道简单的逻辑运算题
  20. 华硕 ROG主题 提取主题包

热门文章

  1. 联想微型计算机c305,联想时尚一体机C305 三种配置无需割爱
  2. 光猫修改配置同步到服务器,光猫修改上报服务器地址
  3. Python flask渲染模板注入
  4. Linux 中 wq 、wq!、x、q、q!区别
  5. [活动已经结束] 2008(第五届)中国数据挖掘与商业智能研讨会
  6. 如何复制网页上的任何内容(比如百度文库)
  7. Servlet之Cookie和Session
  8. python破解qq密码_央·python编程之QQ数据清洗
  9. 金融作业:股吧评论_爬取、情绪与股价对比(贵州茅台和上证指数)
  10. C#BS通过ActiveX控件及制作CAB包来调CS