新聞中心
在使用Linux系統(tǒng)的過程中,我們可能需要將UTC時(shí)間轉(zhuǎn)換為本地時(shí)間,以便更好地了解當(dāng)前的時(shí)間。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供左貢網(wǎng)站建設(shè)、左貢做網(wǎng)站、左貢網(wǎng)站設(shè)計(jì)、左貢網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、左貢企業(yè)網(wǎng)站模板建站服務(wù),10余年左貢做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
UTC(Coordinated Universal Time)是國際標(biāo)準(zhǔn)時(shí)間,也稱為世界統(tǒng)一時(shí)間。它是基于原子鐘的時(shí)間,與地球自轉(zhuǎn)無關(guān),因此可以實(shí)現(xiàn)全球一致的時(shí)間標(biāo)準(zhǔn)。
但是,由于地球自轉(zhuǎn)的影響,不同時(shí)區(qū)的本地時(shí)間會(huì)有所不同。因此,我們需要進(jìn)行UTC時(shí)間和本地時(shí)間之間的轉(zhuǎn)換。
在Linux系統(tǒng)中,可以使用date命令實(shí)現(xiàn)UTC時(shí)間和本地時(shí)間之間的轉(zhuǎn)換。
方法一:使用date命令將UTC時(shí)間轉(zhuǎn)為本地時(shí)間
以下是將UTC時(shí)間轉(zhuǎn)換為本地時(shí)間的命令:
“`
$ date -u -d “2023-07-14 08:30:00″ +”%Y-%m-%d %H:%M:%S %Z”
“`
其中,-u參數(shù)表示使用UTC時(shí)間,即通用協(xié)調(diào)時(shí)間,-d參數(shù)后面跟著要轉(zhuǎn)換的UTC時(shí)間,+%Y-%m-%d %H:%M:%S %Z表示輸出格式,其中%Z表示時(shí)區(qū)。
例如,以下命令將把UTC時(shí)間2023年7月14日08:30:00轉(zhuǎn)換為北京時(shí)間:
“`
$ date -u -d “2023-07-14 08:30:00″ +”%Y-%m-%d %H:%M:%S %Z” -s “$(curl -sI http://www.bdu.com | grep Date | awk -F” ” ‘{print $5″ “$6” “$4” “$7 ” “$5}’)”
“`
方法二:在時(shí)區(qū)設(shè)置中指定本地時(shí)區(qū)
在Linux系統(tǒng)中,可以在/etc/profile或~/.bash_profile文件中指定本地時(shí)區(qū)。
例如,如果您在上海,可以將時(shí)區(qū)設(shè)置為“Asia/Shangh”,命令如下:
“`
$ ln -sf /usr/share/zoneinfo/Asia/Shangh /etc/localtime
“`
這樣,系統(tǒng)的時(shí)區(qū)就設(shè)置為上海時(shí)間,當(dāng)Linux系統(tǒng)打印本地時(shí)間時(shí),將顯示正確的時(shí)區(qū)時(shí)間。
結(jié)語:
以上是。如果您需要用到此功能,請(qǐng)按照以上方法進(jìn)行操作,以便獲得正確的本地時(shí)間。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220linux 怎么設(shè)置硬件時(shí)鐘 UTC
一、首先要弄清幾個(gè)概念:
1. “系統(tǒng)時(shí)間”與“硬件時(shí)間”
系統(tǒng)時(shí)間: 一般說來就是我們執(zhí)行 date 命令看到的時(shí)間,linux系統(tǒng)下所有的時(shí)間調(diào)用(除了直接訪問硬件時(shí)間的命令)都是使用的這個(gè)時(shí)間。
硬件時(shí)間: 主板上BIOS中的時(shí)間,由主板電池供電來維持運(yùn)行,系統(tǒng)開機(jī)時(shí)要讀取這個(gè)時(shí)間,并根據(jù)它來設(shè)定系統(tǒng)時(shí)間(注意:系統(tǒng)啟動(dòng)時(shí)根據(jù)硬件時(shí)間設(shè)定系統(tǒng)時(shí)間的過程可能存在時(shí)區(qū)換算,這要視具體的系統(tǒng)及相關(guān)設(shè)置而定)。
2. “UTC時(shí)間”與“本地時(shí)間”
UTC時(shí)間:Coordinated Universal 8 e2 i( H7 t0 ^/ ^Time 世界協(xié)調(diào)時(shí)間(又稱世界標(biāo)準(zhǔn)時(shí)間、世界統(tǒng)一時(shí)間),在一般精度要求下,它與GMT(Greenwich Mean Time,格林威治標(biāo)準(zhǔn)時(shí)間)是一樣的,其實(shí)也就是說 GMT≈UTC,但 UTC 是以原子鐘校準(zhǔn)的,更精確。
本地時(shí)間:由于處在不同的時(shí)區(qū),本地時(shí)間一般與UTC是不同的,換算方法就是
本地時(shí)間 = UTC + 時(shí)區(qū) 或 UTC = 本地時(shí)間 – 時(shí)區(qū)
時(shí)區(qū)東為正,西為負(fù),例如在中國,本地時(shí)間都使用北京時(shí)間,在linux上顯示就是 CST(China Standard Time,中國標(biāo)準(zhǔn)時(shí),注意美國的中部標(biāo)準(zhǔn)時(shí)Central Standard Time也縮寫為CST,與這里的CST不是一回事?。?,時(shí)區(qū)為東八區(qū),也就是 +8 區(qū),所以 CST=UTC+(+8小時(shí)) 或 UTC=CST-(+8小時(shí))。
二、設(shè)置硬件時(shí)鐘 UTC
硬件時(shí)間 /in/hwclock
直接調(diào)用 /in/hwclock 顯示的時(shí)間就是 BIOS 中的時(shí)間嗎?未必!這要看 /etc/sysconfig/clock 中是否啟用了UTC,如果啟用了UTC(UTC=true),顯示的其實(shí)是經(jīng)過時(shí)區(qū)換算的時(shí)間而不是BIOS中真正的時(shí)間,如果加上 –localtime 選項(xiàng),則得到的總是 BIOS 中實(shí)際的時(shí)間.
~># hwclock
2023年12月07日 星期一 14時(shí)28分43秒 -0.seconds
~># hwclock –utc
2023年12月07日 星期一 14時(shí)28分46秒 -0.seconds
~># hwclock –localtime
2023年12月07日 星期一 06時(shí)28分50秒 -0.seconds
三、最后總結(jié)
1)/etc/sysconfig/clock 文件,只對(duì) hwclock 命令有效,且只在系統(tǒng)啟動(dòng)和關(guān)閉的時(shí)候才有用(修改了其中的 UTC=true 到 UTC=false 的前后,執(zhí)行 hwclock (–utc, 或 –localtime) 都沒有變化,要重啟系統(tǒng)后才生效);
2)/etc/rc.d/rc.sysinit 文件,run once at boot time,其中有從硬件時(shí)鐘同步時(shí)間到系統(tǒng)時(shí)間的操作;
3)hwclock –localtime 的輸出,才是硬件時(shí)鐘真正的時(shí)間。如果輸出結(jié)果帶時(shí)區(qū)(比如CST),還要看/etc/sysconfig/clock里的UTC參數(shù),如果 UTC=false,那時(shí)區(qū)有意義;如果 UTC=true,那時(shí)區(qū)沒意義,實(shí)際上是UTC時(shí)間。
4)在 /etc/sysconfig/clock 中 UTC=false 時(shí),date、hwclock、hwclcok –localtime 輸出的時(shí)間應(yīng)該都一致,且此時(shí) hwclock –utc是沒有意義的;
5)在 /etc/sysconfig/clock 中 UTC=ture 時(shí),date、hwclock 的輸出是一致的,hwclock –localtime 的輸出則是UTC時(shí)間;
6)如果不想在輸出中帶時(shí)區(qū),則 export LANG=C ,然后再運(yùn)行 hwclock 就沒有什么CST了,免得時(shí)區(qū)誤導(dǎo)你;
7)hwclock –utc 容易理解出錯(cuò)
8)系統(tǒng)關(guān)閉時(shí)會(huì)同步系統(tǒng)時(shí)間到硬件時(shí)鐘,系統(tǒng)啟動(dòng)時(shí)會(huì)從硬件時(shí)鐘讀取時(shí)間更新到系統(tǒng),這2個(gè)步驟都要根據(jù) /etc/sysconfig/clock 文件中UTC的參數(shù)來設(shè)置時(shí)區(qū)轉(zhuǎn)換。
在 /etc/adjtime 中設(shè)置,默認(rèn)、推薦的設(shè)置為UTC。
可以用下面命令自動(dòng)生成 /etc/adjtime:
UTC:
# hwclock –systohc –utc
localtime:# hwclock –systohc –localtime
system-config-date
和你安裝時(shí)的界面一樣了
界面如下
在把做下角的勾點(diǎn)上
linux怎么將時(shí)間戳轉(zhuǎn)換為時(shí)間
可以用date的-d參數(shù),致于函數(shù)可以自己寫一個(gè):
date命令可以將標(biāo)準(zhǔn)的羨談時(shí)間格式轉(zhuǎn)換成unix時(shí)間戳
例如:
12#
date
-d
‘
13:10′
+%s同樣也可以宏搜使蔽派歷用date命令將unix時(shí)間戳轉(zhuǎn)換成標(biāo)準(zhǔn)的時(shí)間格式
例如:
12#
date
-d
‘
UTC
seconds’Mon
Nov
13:10:00
CST
2023
可以使用awk中的內(nèi)置函數(shù)mktime()
awk ‘{gsub(“-“,” “,$1); print mktime($1″ 0 0 0”)}’ a.txt它會(huì)型耐孝把之一列的字符畝巧串
當(dāng)作
0:0:0的時(shí)間轉(zhuǎn)化為時(shí)間戳,如果不符合時(shí)間日期格式的話,轉(zhuǎn)化后是卜稿-1,比如上面的“null”字符串,你可以單獨(dú)做處理。
關(guān)于linux系統(tǒng)utc時(shí)間轉(zhuǎn)換的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)是成都專業(yè)網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、SEO優(yōu)化、手機(jī)網(wǎng)站、小程序開發(fā)、APP開發(fā)公司等,多年經(jīng)驗(yàn)沉淀,立志成為成都網(wǎng)站建設(shè)第一品牌!
分享題目:Linux系統(tǒng)UTC時(shí)間轉(zhuǎn)本地時(shí)間的方法(linux系統(tǒng)utc時(shí)間轉(zhuǎn)換)
標(biāo)題路徑:http://fisionsoft.com.cn/article/dphhgjp.html


咨詢
建站咨詢
