❶ 如何將linux 的本地時間設置為utc時間
如果你的 Linux 系統時區配置不正確,必需要手動調整到正確的當地時區。NTP 對時間的同步處理只計算當地時間與 UTC 時間的偏移量,因此配置一個 NTP 對時間進行同步並不能解決時區不正確的問題。所以大家在用了國外雲計算服務商如 Microsoft Azure 或其它 VPS、虛擬機時,需要注意是否與中國大陸的時區一致。
查看Linux當前時區
你可以使用如下命令非常容易地就查看到 linux 系統的當前時區:
date
ls -l /etc/localtime
linux-time02
獲取時區TZ值
要更改 Linux 系統時區首先得獲知你所當地時區的 TZ 值,使用 tzselect 命令即可查看並選擇已安裝的時區文件。
執行 tzselect 命令
linux-time03
通過向導選擇你所在大洲、國家和城市
tzselect 最終將以 Posix TZ 格式(例如 Asia/Shanghai)輸出你所在的時區值,將此記錄下來。
linux-time03
更改每個用戶的時區
Linux 用戶一個多用戶系統,每個用戶都可以配置自己所需的時區,你可以為自己新增一個 TZ 環境變數:
export TZ='Asia/Shanghai'
執行完成之後需要重新登錄系統或刷新 ~/.bashrc 生效。
source ~/.bashrc
更改Linux系統時區
要更改 Linux 系統整個系統范圍的時區可以使用如下命令:
sudo rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意:/usr/share/zoneinfo/Asia/Shanghai 中的具體時區請用自己獲取到的 TZ 值進行替換。
使用Systemd更改Linux系統時區
如果你使用的 Linux 系統使用 Systemd,還可以使用 timedatectl 命令來更改 Linux 系統范圍的時區。在 Systemd 下有一個名為 systemd-timedated 的系統服務負責調整系統時鍾和時區,我們可以使用 timedatectl 命令對此系統服務進行配置。
sudo timedatectl set-timezone 'Asia/Shanghai'
linux-time05
最後,如果你發現 Ubuntu 與 Windows 雙系統時間不同步,可以參考我們之前的文章說明和解決辦法。
❷ 如何調整Linux系統為正確時區
修改配置文件來修改時區
1、修改/etc/sysconfig/clock
ZONE=Asia/轎盯Shanghai
2、rm /etc/localtime
3、鏈接到上蔽帆森海時區文件
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/宏畝localtime
執行完上述過程後,重啟機器,即可看到時區已經更改。
❸ linux 時區設置 cst 什麼時區
1)
找到相應的時區文件
/usr/share/zoneinfo/asia/shanghai
用這個文件替換當前的/etc/localtime文件。
2)
修改/etc/sysconfig/clock文件,修改為:
zone="asia/shanghai"
[color=red]utc=true[/color]
arc=false
3)
時間設定成2005年8月30日的命令如下:
#date
-s
08/30/2005
將系統時間設定成下午6點40分0秒的命令如下。
#date
-s
18:40:00
4)
同步bios時鍾,強制把系統時間寫入cmos,命令如下:
#clock
-w
5)重啟apache。
參考資料二、
本文檔解釋了如何從linux下設置計算機的時鍾,如何設置您的時區和其它與linux如何保存時間相關的材料。
您的計算機有兩個時鍾,一個是始終運行的、由電池供電的(
硬體的、bios或cmos
)時鍾,另一個是由運行在您的計算機上的操作系統維護的(
系統
)時鍾。硬體時鍾通常只在操作系統啟動時用來設置系統時鍾,然後直到重啟或關閉系統,由系統時鍾來記錄時間。在linux
系統中,您可以選擇用utc/gmt
時間或本地時間來記錄硬體時鍾。推薦的選項是用utc
記錄,因為夏令時可以自動記錄。使用utc
記錄硬體時鍾的唯一不足是,如果您使用雙系統,其它操作系統,如dos
要求硬體時鍾用本地時間設置,那麼在那個操作系統里時間將是錯誤的。
設置時區:
linux
下的時區是通過建立從/etc/localtime[1]
到/usr/share/zoneinfo
[2]
目錄下與您所在時區相符的文件的符號鏈結實現的。例如,由於我在南澳大利亞,/etc/localtime就是到
/usr/share/zoneinfo/australia/south的符號鏈結。要建立這個鏈結,運行:
ln
-sf
../usr/share/zoneinfo/your/zone
/etc/localtime
替換your/zone
為形如australia/nsw或australia/perth
的文件。看看/usr/share/zoneinfo目錄都有什麼時區。
[1]
這里假設/usr/share/zoneinfo
是到/etc/localtime
的鏈結的前提是redhat
linux
[2]
在舊版本的系統里,您會發現使用/usr/lib/zoneinfo而不是/usr/share/zoneinfo。參考後面「一些應用程序中時間錯誤」。
❹ 如何設置linux時區和windows一樣
一、首先要弄清幾個概念:
1. 「系統時間」與「硬體時間」
系統時間: 一般說來就是我們執行 date命令看到的時間,linux系統下所有的時間調用(除了直接訪問硬體時間的命令)都是使用的這個時間。
硬體時間:主板上BIOS中的時間,由主板電池供電來維持運行,系統開機時要讀取這個時間,並根據它來設定系統時間(注意:系統啟動時根據硬體時間設定系統時間的過程可能存在時區換算,這要視具體的系統及相關設置而定)。
2. 「UTC時間」與「本地時間」
UTC時間:CoordinatedUniversal8 e2 i( H7 t0 ^/^Time 世界協調時間(又稱世界標准時間、世界統一時間),在一般精度要求下,它與GMT(Greenwich MeanTime,格林威治標准時間)是一樣的,其實也就是說 GMT≈UTC,但 UTC 是以原子鍾校準的,更精確。
本地時間:由於處在不同的時區,本地時間一般與UTC是不同的,換算方法就是
本地時間 = UTC +時區 或 UTC = 本地時間 - 時區
時區東為正,西為負,例如在中國,本地時間都使用北京時間,在linux上顯示就是 CST(China StandardTime,中國標准時,注意美國的中部標准時Central StandardTime也縮寫為CST,與這里的CST不是一回事!),時區為東八區,也就是 +8 區,所以CST=UTC+(+8小時) 或 UTC=CST-(+8小時)。
二、時間命令
1. 系統時間 date
直接調用date,得到的是本地時間。如果想得到UTC時間的話,使用 date -u。
[12-01 19:07> ~]$date
2009年 12月 07日 星期一 14:22:20CST
[12-0119:07> ~]$ date -u
2009年 12月 07日 星期一 06:22:22UTC
2. 硬體時間 /sbin/hwclock
直接調用 /sbin/hwclock 顯示的時間就是BIOS 中的時間嗎?未必!這要看
/etc/sysconfig/clock中是否啟用了UTC,如果啟用了UTC(UTC=true),顯示的其實是經過時區換算的時間而不是BIOS中
真正的時間,如果加上--localtime 選項,則得到的總是 BIOS 中實際的時間.
[12-01 19:07> ~]#hwclock
2009年12月07日 星期一14時28分43秒 -0.611463 seconds
[12-0119:07> ~]# hwclock --utc
2009年12月07日 星期一14時28分46秒 -0.594189 seconds
[12-0119:07> ~]# hwclock --localtime
2009年12月07日 星期一06時28分50秒 -0.063875 seconds
3. /etc/localtime
這個文件用來設置系統的時區,將/usr/share/zoneinfo/ 中相應文件拷貝到/etc下並重命名為
localtime 即可修改時區設置,而且這種修改對date 命令是及時生效的。不論是 date 還是
hwclock都會用到這個文件,會根據這個文件的時區設置來進行UTC和本地之間之間的換算。
4. /etc/sysconfig/clock
這個文件只對 hwclock有效,而且似乎是只在系統啟動和關閉的時候才有用,比如修改了其中的 UTC=true 到
UTC=false 的前後,執行hwclock (--utc, 或 --localtime) 都沒有變化,要重啟系統後才生效。註:如果設置
UTC=false並重啟系統後,執行一些命令結果如下:
date 2009年 12月 07日 星期一 19:26:29 CST
date-u 2009年 12月 07日 星期一 11:26:29 UTC
hwclock 2009年12月07日 星期一 19時26分30秒 -0.442668seconds
hwclock--utc 2009年12月08日 星期二 03時26分31秒 -0.999091seconds
hwclock--localtime 2009年12月07日 星期一19時26分32秒 -0.999217 seconds
可見,如果不使用UTC,BIOS時間(紅色部分)就是系統本地時間,而且注意這時執行 hwclock --utc得到的結果沒有任何意義,因為這里我們已經禁用了UTC,而且也明顯不符合「本地時間=UTC+時區」的關系。
三、linux與windows雙系統間的時間同步
系統啟動和關閉時,硬體時間與系統時間之間的同步有兩種方式(假設在中國,用CST代表本地時間):
方式A: 使用UTC(對linux就是 /etc/sysconfig/clock 中 UTC=true)
開機: BIOS--------->UTC(將BIOS中的時間看成是UTC)------(時區變化)----->CST
關機:CST-------(時區變化)----->UTC-------存儲到------>BIOS
方式B: 不使用UTC(對linux就是 /etc/sysconfig/clock 中UTC=false)
開機: BIOS----------------------->CST(將BIOS中的時間看成是CST)
關機:CST---------存儲到------>BIOS
通過設定/etc/sysconfig/clock,linux可以支持這兩種方式,然而windows只支持方式B(至少是默認支持B,而我不知道怎麼
能讓它支持A),那麼在雙系統情況下,如果linux設成A方式,那麼在linux與windows系統切換時一定會造成時間混亂的,解決辦法就是將
linux中的UTC禁用,也設成B方式就可以了。
註:可以通過 hwclock
--hctosys來利用硬體時間來設置系統時間(注意不是簡單的復制BIOS中的時間為系統時間,要看是否使用UTC,如果使用的話則要做時區換算),
通過hwclock --systohc 來根據系統時間設置硬體時間(也要看是否啟用UTC來決定是否做時區換算)。總之,不論使用--systohc
還是 --hctosys,同步後直接運行不帶參數的 hwclock 得到的時間與直接運行
date得到的時間應該一致,這個時間是否就是BIOS中的時間(hwclock--localtime)那就不一定了,如果啟用了UTC就不是,沒啟用
UTC就是。
而且好要注意:在系統中手動使用 hwclock hwclock --set --date='yyyy-mm-dd'來設置BIOS時間只在系統運行時有效,因為當系統關閉時,還會按設定好的方式根據系統時間來重設BIOS時間的,於是手動的設置便被覆蓋掉了。
❺ linux設置系統時區命令
修改系統時間。
linux系統時鍾有兩個,一個是硬體時鍾,即BIOS時間,就是我們進行CMOS設置時看到的時間,另一個是系統時鍾,是linux系統Kernel時間。當Linux啟動時,系統Kernel會去讀取硬體時鍾的設置,然後系統時鍾就會獨立於硬體運作。有時我們會發現系統時鍾和硬體時鍾不一致,因此需要執行時間同步,下面就分享一下時間設置及時鍾同步的命令使用方法。
date命令將日期設置為2014年6月18日
---- date -s 06/18/14
將時間設置為14點20分50秒
---- date -s 14:20:50
將時間設置為2014年6月18日14點16分30秒(MMDDhhmmYYYY.ss)
----date 0618141614.30
❻ 如何在linux命令行下修改時區
查看時區
cat /etc/sysconfig/clock
設置時區
tzselect
timeconfig
cat /etc/sysconfig/clock ZONE=」Asia/Shanghai」 —> /usr/share/zoneinfo 下面的文件。 UTC=false —> 硬體時鍾是否為 UTC 或者說 GMT 時鍾。 ARC=false —> 如果是在 Alpha 機器上,則設置為 true 。
把硬體時鍾設置為 UTC 的好處就是他能自動設置夏時制,缺點是,在安裝有多重操作系統啟動的機器上,在另外的操作 系統上時鍾會錯誤。
Linux 的時鍾設置文件為:/etc/localtime ,實際上這個文件是 /usr/share/zoneinfo 目錄下對應文件的符號連接。 假設我們所處的地區位於上海,那麼只要運行以下的命令就可以設置時區了。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Linux 啟動時,其中的一個腳本(/etc/rc.d/rc.sysinit)會運行 /sbin/hwclock 程序,把當前的硬體時鍾復制為系統 時間。hwclock 假定硬體時鍾已經設置為本地時鍾,除非帶有 –utc 參數。腳本文件會讀取 /etc/sysconfig/clock 文 件的設置,因此我們不需要修改腳本,直接修改這個配置文件就可以了,根據需要把其中的 UTC 行,設置為 true 或 者 false。
設置硬體時鍾時,首先使用 date 命令(「date MMDDhhmmYYYY.ss」) 設置好系統時鍾,然後使用 「/sbin/hwclock –systohc」 把硬體時鍾設置為和當前系統時間一致。
如果你在某些應用下面的時間是錯誤的,那麼你在運行 Red Hat Linux 5.0 或 5.1,解決的辦法是建立 /usr/lib/zoneinfo 到 /usr/share/zoneinfo 的符號連接:
ln -s /usr/share/zoneinfo /usr/lib/zoneinfo
小結:時鍾設置的問題本身比較簡單,但是它涉及到幾個基本的配置文件:
/etc/rc.d/rc.sysinit /etc/sysconfig/clock /etc/localtime /usr/share/zoneinfo時區的配置文件是/etc/sysconfig/clock。用tzselect命令就可以修改這個配置文件,根據命令的提示進行修改就好了。 但是在實際工作中,發現這種方式是不能夠使得伺服器上的時間設置馬上生效的,而且使用ntpdate去同步時間伺服器也不能夠更改時間。即使你使用了date命令手工設置了時間的話,如果使用ntpdate去進行時間同步的話,時間又會被改動到原來的錯誤時區的時間。而生產的機器往往是非常重要的,不能夠進行重啟等操作。 在網上找了幾種方法試了下,發現如果要修改時區並且馬上生效,可以更換/etc/localtime 文件來實現。比如我的時區是中國上海,那麼就可以使用如下的命令來使得時區的更改生效。 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 然後最好使用下面的命令將更改寫入bios。
❼ linux下如何修改時區(TIMEZONE)
查看時區
cat /etc/sysconfig/clock
設置時區
tzselect
timeconfig
cat /etc/sysconfig/clock ZONE=」Asia/Shanghai」 —> /usr/share/zoneinfo 下面的文件。 UTC=false —> 硬體時鍾是否為 UTC 或者說 GMT 時鍾。 ARC=false —> 如果是在 Alpha 機器上,則設置為 true 。
把硬體時鍾設置為 UTC 的好處就是他能自動設置夏時制,缺點是,在安裝有多重操作系統啟動的機器上,在另外的操作 系統上時鍾會錯誤。
Linux 的時鍾設置文件為:/etc/localtime ,實際上這個文件是 /usr/share/zoneinfo 目錄下對應文件的符號連接。 假設我們所處的地區位於上海,那麼只要運行以下的命令就可以設置時區了。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Linux 啟動時,其中的一個腳本(/etc/rc.d/rc.sysinit)會運行 /sbin/hwclock 程序,把當前的硬體時鍾復制為系統 時間。hwclock 假定硬體時鍾已經設置為本地時鍾,除非帶有 –utc 參數。腳本文件會讀取 /etc/sysconfig/clock 文 件的設置,因此我們不需要修改腳本,直接修改這個配置文件就可以了,根據需要把其中的 UTC 行,設置為 true 或 者 false。
設置硬體時鍾時,首先使用 date 命令(「date MMDDhhmmYYYY.ss」) 設置好系統時鍾,然後使用 「/sbin/hwclock –systohc」 把硬體時鍾設置為和當前系統時間一致。
如果你在某些應用下面的時間是錯誤的,那麼你在運行 Red Hat Linux 5.0 或 5.1,解決的辦法是建立 /usr/lib/zoneinfo 到 /usr/share/zoneinfo 的符號連接:
ln -s /usr/share/zoneinfo /usr/lib/zoneinfo
小結:時鍾設置的問題本身比較簡單,但是它涉及到幾個基本的配置文件:
/etc/rc.d/rc.sysinit /etc/sysconfig/clock /etc/localtime /usr/share/zoneinfo時區的配置文件是/etc/sysconfig/clock。用tzselect命令就可以修改這個配置文件,根據命令的提示進行修改就好了。 但是在實際工作中,發現這種方式是不能夠使得伺服器上的時間設置馬上生效的,而且使用ntpdate去同步時間伺服器也不能夠更改時間。即使你使用了date命令手工設置了時間的話,如果使用ntpdate去進行時間同步的話,時間又會被改動到原來的錯誤時區的時間。而生產的機器往往是非常重要的,不能夠進行重啟等操作。 在網上找了幾種方法試了下,發現如果要修改時區並且馬上生效,可以更換/etc/localtime 文件來實現。比如我的時區是中國上海,那麼就可以使用如下的命令來使得時區的更改生效。 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 然後最好使用下面的命令將更改寫入bios。
❽ Linux系統如何更改時間時區
對於許多與系統相關的任務和進程,使用正確的時區是必不可少的。例如,cron守護進程使用系統的時區執行cron作業,日誌文件中的時間戳基於同一系統的時區。
環境
Centos 8
檢查現在的時區
timedatectl是一個 命令 行實用程序,允許您查看和更改系統的時間和日期。
[root@localhost ~]# timedatectl
Local time: Tue 2020-03-31 16:35:23 CST
Universal time: Tue 2020-03-31 08:35:23 UTC
RTC time: Tue 2020-03-31 08:35:23
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
更改時區
在更改時區之前,您需要找出要使用的時區名稱。要列出所有可用時區,請使用下面的 命令 :
[root@localhost ~]# timedatectl list-timezones
…
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
…
然後使用set-timezone選項更改時區,比如更改為Europe/Berlin:
[root@localhost ~]# timedatectl set-timezone Europe/Berlin
使用創建鏈接的方式更改時區
如果運行的是舊版本的Centos,比如Centos6之前的版本,並且系統上不存在timedatectl命令,則可以通過將/etc/localtime符號鏈接到/usr/share/zoneinfo目錄中的時區文件來更改時區。
查看一下/usr/share/zoninfo下面的時區文件,
[root@localhost ~]# ls /usr/share/zoneinfo/
[root@localhost ~]# ls /usr/share/zoneinfo/Asia/
現在替換時區文件。
[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@localhost ~]# date
Tue Mar 31 16:53:59 CST 2020
可以看到已經切換到了CST中國標准時間
總結
在本文中,使用了兩種方式修改時區。一種是使用timedatectl,另一種方式使用創建鏈接的方式。
❾ linux如何設置伺服器上的系統時間
date -s 「20181121 17:34:00」
輸入這條命令系統時間會設置為2018年11月21日17點39分。
修改之後你可以輸入date命令查詢當前時間。
(9)linux時區配置擴展閱讀:
1、桌面右上角齒輪按鈕,點擊System Settings。
❿ Linux 夏令時設置,TZ格式用法
TZ代表時區信息,TZ環境變數的內容用於ctime、localtime、mktime等
TZ格式,常用的有兩種:
第老慶大一種格式用於沒有夏令時的時區設置:
std±offset GMT±8 或者 GMT±8:0:0,東區使用"-", 西區使用"+"
第二種格式用於有夏令時的時區設置:
std offset dst [offset],start[/time],end[/time]
std±[offset]std±[offset],Mm.w.d[/hour:min:sec],Mm.w.d[/hour:min:sec]
Mm.w.d:m月的第w周的星期d
M 標號
m∈[1,12] 一月到十二月
w∈[1,5] 當月的第幾周,5表示當月的最後一周
d∈[0,6] 0是周日,6是周六
[/hour:min:sec]:如果沒有,則默認是凌晨2:0:0,即夏令時開始和結束時間都是
凌晨2:0:0開始和結束差段,如果指定,則依照指定時間執行
注意:(std表示名稱,無關緊要,可以隨便設置,最好設置為容易識別字元,不易過長)
例如:
GMT-8DST-9,M5.3.4,M10.2.5
表示時區是東八區,夏令時從5月的第3周的星期4的凌晨02:00:00 到10月的第2周的星期5的凌晨02:00:00,
時間調快1小時
GMT-07:00:00DST-06:00:00,M6.2.0/03:30:00,M11.3.5/02:30:00
表示時區是東七區,夏令時從6月的第2周的星期日的凌晨03:30:00 到11月的第3周的星期侍豎5的凌晨02:20:00,
時間調慢1小時