国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux新手學(xué)堂 關(guān)于Linux的時間與時區(qū)

2024-08-27 23:57:58
字體:
供稿:網(wǎng)友

首先要說明的是我的系統(tǒng)是fedora,其他系統(tǒng)可能不完全相同。

◆1,時間保存在硬件實時鐘(RTC)中,RTC由主板電池供電,即使關(guān)斷電源也不會造成時間丟失。

◆2,系統(tǒng)啟動時從RTC獲取時間,這個步驟在rc.sysinit中做:

a),首先從/etc/sysconfig/clock中獲取RTC相關(guān)參數(shù)UTC/ARC/SRM。UTC為true表示RTC保存的時間是UTC時間,false表示保存的是本地時間。ARC與SRM的含義參考hwclock的manpage,一般false即可;

b),根據(jù)上面獲取的內(nèi)容構(gòu)造hwclock命令的參數(shù),將時間由RTC讀取到系統(tǒng)時鐘。

*需要說明的一點是hwclock的輸出是本地時間,localtime/utc參數(shù)只是用來告訴hwclock命令COMS時區(qū)是哪個時區(qū)。比如Linux系統(tǒng)的系統(tǒng)時區(qū)設(shè)置為CST(中國標(biāo)準(zhǔn)時間),COMS時間采用墻上時間,即COMS時區(qū)也是CST,這時如果使用--utc參數(shù),會讓hwclock誤以為COMS時區(qū)為UTC,所以輸出的時間會自動+8。

◆3,tzset():tzset在程序中用來初始化tzname等全局變量,它首先試圖從環(huán)境變量“TZ”中獲取時區(qū),如果TZ環(huán)境變量存在,即getenv("TZ")返回值不為NULL,且包含內(nèi)容有效,則使用TZ值;如果該變量存在但內(nèi)容無效,比如包含錯誤的時區(qū)名字,則使用UTC;如果該變量不存在,即getenv("TZ")返回NULL,則查找系統(tǒng)時區(qū)設(shè)置文件,一般是/etc/localtime。localtime所指文件的內(nèi)容格式可參考tzfile(5)。

◆4,time():返回自00:00:00 UTC, January 1,1970到現(xiàn)在所經(jīng)過的秒數(shù),注意,是UTC。

◆5,ctime()/localtime()/mktime():這類和時區(qū)相關(guān)的函數(shù)內(nèi)部會調(diào)用tzset,但只是第一次調(diào)用tzset會做實際初始化,后面的調(diào)用都是直接返回。

◆6,系統(tǒng)關(guān)閉時,如執(zhí)行shutdown/reboot/poweroff/halt等操作后,系統(tǒng)時間會保存到RTC中,這是在halt腳本中完成的,參看/etc/init.d/halt內(nèi)容.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乡城县| 深州市| 苍溪县| 谷城县| 合阳县| 清水县| 淳化县| 华蓥市| 玉田县| 吕梁市| 海晏县| 福鼎市| 平山县| 顺义区| 孝感市| 汶川县| 萍乡市| 卢氏县| 莲花县| 宣恩县| 奇台县| 江阴市| 古田县| 通榆县| 康保县| 来凤县| 巩义市| 白城市| 邵阳县| 犍为县| 广德县| 宁河县| 金坛市| 武宣县| 白沙| 长寿区| 和平区| 余江县| 济宁市| 莱阳市| 马尔康县|