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

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


咨詢
建站咨詢
