linux时间调整为dst,Linux上系统时间函数、DST等相关有关问题总结
Linux下系統(tǒng)時間函數(shù)、DST等相關(guān)問題總結(jié)
1. 內(nèi)核中時間的基本類型:
在Linux內(nèi)核中,常見的時間類型有以下兩種:系統(tǒng)時間(system time)和實時時間(real time),其實,方便理解,可以將二者分別認為是相對時間和絕對時間,同時它們分別對應于內(nèi)核中的兩個全局變量值:jiffies和xtime。
xtime: xtime值是從cmos電路中取得的時間,一般是從某個歷史時刻(1970年1月1日0時0分)開始到現(xiàn)在的時間,其實也就是我們操作系統(tǒng)上面所顯示的時間,它的精度是微秒。
jiffies:jiffies是記錄從電腦開機到現(xiàn)在總共的時鐘中斷次數(shù)(拍數(shù)),它的值取決于系統(tǒng)的頻率,單位是HZ,其倒數(shù)即表示一秒鐘中斷所產(chǎn)生的次數(shù),在Linux 2.5內(nèi)核版本之后將HZ從100提高到1000MHZ,它的精度也就是10毫秒。
根據(jù)對上面兩個全局變量值的介紹,大提升應該了解到Linux系統(tǒng)中系統(tǒng)時間與實時時間之間的區(qū)別,前者表示的是從電腦開機到現(xiàn)在的時間,可以通過全局變量jiffies值換算而來;而實時時間則是指我們?nèi)粘I钪械娜掌跁r間,它跟UTC有著密切關(guān)系,這些將在后面章節(jié)做介紹。
2. Linux time API中常見的時間結(jié)構(gòu):
(1)time_t:它是一個長整型數(shù)據(jù),用來表示從1970年之后到現(xiàn)在的秒數(shù)。一般通過time函數(shù)獲取。
(2)timeval結(jié)構(gòu):通過gettimeofday函數(shù)獲取。
struct timeval
{
long tv_sec; /* seconds */
long tv_usec; /* microseconds */
};
(3)timezone結(jié)構(gòu):通過gettimeofday函數(shù)獲取。
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?? 
總結(jié)
以上是生活随笔為你收集整理的linux时间调整为dst,Linux上系统时间函数、DST等相关有关问题总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 7.0修改网卡ip,Cent
- 下一篇: linux系统默认的环境变量path,L