Linux下系统时间函数、DST等相关问题总结

1. 内核中时间的基本类型:

在Linux内核中,常见的时间类型有以下两种:系统时间(system time)和实时时间(real time),其实,方便理解,可以将二者分别认为是相对时间和绝对时间,同时它们分别对应于内核中的两个全局变量值:jiffies和xtime。

xtime: xtime值是从cmos电路中取得的时间,一般是从某个历史时刻(1970年1月1日0时0分)开始到现在的时间,其实也就是我们操作系统上面所显示的时间,它的精度是微秒。

jiffies:jiffies是记录从电脑开机到现在总共的时钟中断次数(拍数),它的值取决于系统的频率,单位是HZ,其倒数即表示一秒钟中断所产生的次数,在Linux 2.5内核版本之后将HZ从100提高到1000MHZ,它的精度也就是10毫秒。

根据对上面两个全局变量值的介绍,大提升应该了解到Linux系统中系统时间与实时时间之间的区别,前者表示的是从电脑开机到现在的时间,可以通过全局变量jiffies值换算而来;而实时时间则是指我们日常生活中的日期时间,它跟UTC有着密切关系,这些将在后面章节做介绍。

2. Linux time API中常见的时间结构:

(1)time_t:它是一个长整型数据,用来表示从1970年之后到现在的秒数。一般通过time函数获取。

(2)timeval结构:通过gettimeofday函数获取。

struct timeval

{

long tv_sec; /* seconds */

long tv_usec; /* microseconds */

};

(3)timezone结构:通过gettimeofday函数获取。

struct timezone

{

int tz_minuteswest; /* 和Greewich时间差了多少分钟*/

int tz_dsttime; /*DST types*/

};

【引申】常见的DST类型如下:

#define   DST_NONE      0    /* not on dst */

#define   DST_USA        1    /* USA style dst */

#define   DST_AUST  &nbsp

linux时间调整为dst,Linux上系统时间函数、DST等相关有关问题总结相关推荐

  1. linux内核时间函数us,Linux上系统时间函数、DST等相关有关问题总结

    http://www.reader8.cn/jiaocheng/20120910/1995886.html 2012 Linux下系统时间函数.DST等相关问题总结1. 内核中时间的基本类型:在Lin ...

  2. linux 如何在命令行下改系统时间

    我们一般使用"date -s"命令来修改系统时间.比如将系统时间设定成2009年6月1日的命令如下.       #date -s 06/01/2009       或 #date ...

  3. html中如何写系统时间,在HTML页面获取当前系统时间

    function getCurDate() { var d = new Date(); var week; switch (d.getDay()){ case 1: week="星期一&qu ...

  4. iphone当前系统时间与服务器不一致,mac双系统时间不对怎么办 mac双系统时间不一致解决办法...

    mac双系统时间不对原因: Windows和MacOSX缺省看待PC的CMOS记录的时钟是不一样的. Windows将这个时钟作为本地时间来看待,也就是CMOS时间就是北京时间. MacOSX将这个时 ...

  5. 苹果当前系统时间与服务器不一致,mac双系统时间不对怎么办 mac双系统时间不一致解决办法...

    mac双系统时间不对原因: Windows和MacOSX缺省看待PC的CMOS记录的时钟是不一样的. Windows将这个时钟作为本地时间来看待,也就是CMOS时间就是北京时间. MacOSX将这个时 ...

  6. linux OS与SQL修改时区,系统时间

    linux修改系统时间和linux查看时区.修改时区的方法 一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方 ...

  7. linux时间为什么是上海,设置CentOS系统时间为上海时区,解决相差8小时解决方法...

    改成上海时区timedatectl set-timezone Asia/Shanghai GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地 ...

  8. linux fdisk调整root大小,Linux下分区大小改变及fdisk应用

    改变Linux分区大小 一般来说,Linux系统根分区(一般是Ext2.Ext3.ReiserFS格式)是无法改变容量的,这一点与Windows下的FAT32.NTFS 颇有不同.我曾经试了一下,不但 ...

  9. 黑苹果双系统时间不一致_黑苹果与Windows系统时间不对(不同步)的解决办法...

    唠叨 经过我一番蒸腾,终于把系统给上好了,目前还缺个WiFi,等着把网卡淘回来换上就可以完美支持WiFi,隔空投送,以及苹果的各个功能. 先上个电脑配置吧,我的是机械革命深海幽灵z2air-s.这是我 ...

最新文章

  1. class反编译成java_省事情的java(3)-编译
  2. ajax成功进入success但是获取不到返回值
  3. 笔记-高项案例题-2019年上-人力资源管理
  4. Ubuntu设置RS-232串口登陆终端(译文,节选)
  5. Kubernetes监控之Heapster源码分析
  6. git远程强制更新到本地
  7. 程序人生:提高代码运行效率的9个技巧
  8. Transaction marked as rollbackOnly异常处理 Duplicate entry 'xxx' for key
  9. 帮助你的上司达成目标
  10. java 项目名命名规范_javaWeb项目命名规范
  11. oracle避免索引失效,Oracle优化你的查询--关于避免索引隐式失效
  12. 教你不要光驱一样重装系统
  13. 纠错码 - 海明码/汉明码
  14. 尚学堂 马士兵 struts_2视频教程 笔记心得 1——30课详解
  15. Axure-RP8 介绍
  16. 超好用的Server酱,推送微信消息
  17. Android攻城狮datePicketimePicker
  18. dba+开源工具:轻量级数据库审计日志平台,违规操作无所遁形(附下载)
  19. Git提交合并提交及注释
  20. GNSS抗干扰和GNSS抗欺骗

热门文章

  1. mysql hex函数性能_mysql hex与unhex 函数的妙用
  2. java赋_Java赋值运算符(=)
  3. shell+mysql获取数据库名_shell操作mysql数据库
  4. 解决fullgc_「OOM」Java heap space原因与解决
  5. c语言制表符_随时随地学习C语言之1—开发环境搭建
  6. creating a tensor from a list of numpy.ndarray is extremely slow Please consider converting the lis
  7. 60 个神级 VS Code 插件!
  8. 病的不轻?教你 2 招,拯救拖延症!
  9. 树形结构:二叉树,分治,合并子树,递归
  10. mysql ---- limit使用方式