希望能對那些缺乏相關知識的兄弟有所幫助。
本文也很可能回答了有關在linux和win下時間不同的問題,
如文中所述
那就是linux使用了UTC時間,
而win使用本地時間,
所以會時間錯誤。
中文翻譯:
Linux Tips
Linux,時鐘和時間
介紹:
本文檔解釋了如何從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。參考后面“一些應用程序中時間錯誤”。
設置UTC 或本地時間:
當Linux 啟動時,一個啟動腳本運行/sbin/hwclock 程序復制當前硬件時鐘時間到系統時鐘。hwclock 假定硬件時鐘設置為本地時間,除非它使用了--utc 參數。在RedHat Linux下您不是編輯啟動腳本,而是編輯/etc/sysconfig/clock 文件,相應的改變UTC 一行為UTC=true或UTC=false。
設置系統時鐘:
在Linux 下設置系統時鐘使用date命令。例如,設置當前時間和日期為July 31,11:16pm,運行date 07312316 ( 注意這里的時間是24小時制) ;如果您想設置年份為1998,
應該運行date 073123161998 ;要是也想設置秒,運行date 07312316.30或date 073123161998.30。要查看Linux 當前本地時間,使用date,不帶參數。
設置硬件時鐘:
要設置硬件時鐘,我喜歡的方式是首先設置系統時鐘,然后設置硬件時鐘為當前系統時鐘時間,使用命令/sbin/hwclock --systohc (或 /sbin/hwclock --systohc --utc ) ,如果您使用UTC 保存硬件時鐘) 。要查看當前硬件時鐘的設置,不帶參數運行hwclock 。如果硬件時鐘是UTC 保存,而您想看相應的本地時間,運行/sbin/hwclock --utc 。
新聞熱點
疑難解答