歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下對date和timestamp的互轉

Linux下對date和timestamp的互轉

日期:2017/2/28 16:30:43   编辑:Linux教程

linux下對date和timestamp的互轉

1. date 到 timestamp:
$ date -d '2009-12-01 23:20' +%s
1259680800
2. timestamp 到 date
$ date -d '1970-01-01 1259680800 sec utc'
Tue Dec 1 23:20:00 CST 2009

3. timestamp 到 UTC date
[root@CDM ~]# date -d '1970-01-01 UTC 1284117137 sec' -u
五 9月 10 11:12:17 UTC 2010

4. date,當前時間轉換為UTC timestamp
[root@CDM ~]# date +%s

1284117146

GMT
GMT 是 Greenwich Mean Time 的縮寫,譯為中文為“格林威治標准時間”或“格林尼治標准時間”,直譯的話,可譯為“格林威治平時”或“格林尼治平時”。這裡的格林威治位於英國倫敦東南方向的泰晤士河畔,美國也有個格林威治鎮,不過與時間沒關系。

UTC
UTC 是 Coordinated Universal Time 的縮寫,譯為中文為“世界標准時間”,直譯的話,可譯為“協調通用時間”或“協調世界時間”。目前來說也就是指 GMT 時間。為什麼說目前就是指 GMT 時間呢?因為本初子午線(子午線即經線,本初子午線即 0 度經線)其實穿過的是沙特阿拉伯西邊的麥加,而不是英國的格林威治。當時英國皇家學會暫時確定格林威治為本初子午線的穿過點﹐加之英國正是興旺發達時期,全世界就將錯就錯,用到現在。說不定哪天改為麥加時間為標准時間也不是沒有可能。所以我們一般使用 UTC,而不是 GMT。

PDT
PDT 是 Pacific Daylight Time 的縮寫,譯為中文為“太平洋夏令時間”,比 UTC 時間晚 7 小時。Google 曾在其 AdSense 中提到“在 09-6-13,我們的工程師會在 PDT 大約 上午10:00 到下午2:00 對網站進行維護。”
其實除了 PDT 時間,北美地區還有很多時間:
美國夏季始於每年4月的第1個周日,止於每年10月的最後一個周日。夏令時比正常時間早一小時,與PDT時間相對應的是PST , Pacific Standard Time 。 夏時制結束後就是PST
NST - Newfoundland Standard Time 紐芬蘭標准時間
NDT - Newfoundland Daylight Time 紐芬蘭夏令時間
AST - Atlantic Standard Time 大西洋標准時間
ADT - Atlantic Daylight Time 大西洋夏令時間
EST - Eastern Standard Time 東部標准時間
EDT - Eastern Daylight Time 東部夏令時間
CST - Central Standard Time 中部標准時間
CDT - Central Daylight Time 中部夏令時間
MST - Mountain Standard Time 山地標准時間
MDT - Mountain Daylight Time 山地夏令時間
PST - Pacific Standard Time 太平洋標准時間
PDT - Pacific Daylight Time 太平洋夏令時間
AKST - Alaska Standard Time 阿拉斯加標准時間
AKDT - Alaska Daylight Time 阿拉斯加夏令時間
HAST - Hawaii-Aleutian Standard Time 夏威夷-阿留申標准時間
HADT - Hawaii-Aleutian Daylight Time 夏威夷-阿留申夏令時間
PST
PST是太平洋標准時間(西八區),與北京時間(東八區)時差-16個小時,也就是北京時間減去16就是PST時間。而PDT比PST早1個小時,就是說PDT與北京時間時差為-15小時

夏令時
Daylight Saving Time 或 Daylight Time。
美國和加拿大原本於每年10月的最後一個星期日凌晨2時起實施冬令時間;4月的第一個星期日凌晨2時起,恢復夏令時間。
  但是根據美國國會最新通過的能源法案,為加強日光節約,自2007年起延長夏令時間,開始日期從每年4月的第一個星期日,提前到3月的第二個星期日,結束日期從每年10月的最後一個星期日,延後到11月的第一個星期日。換言之,冬令時間將縮短約一個月。之所以安排在周日,是為了便於生活的調整不至於受到較大的影響。

Linux 系統改變時區的命令 timeconfig
或者cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime


2010年美國夏令時:美國2010年夏令時將於3月14日當地時間早上02:00開始
屆時時間服務器會從01:59:59 自動跳到03:00:00

Linux下修改時間時區


 Linux時鐘分為系統時鐘(System Clock)和硬件(Real Time Clock,簡稱RTC)時鐘。系統時鐘是指當前Linux Kernel中的時鐘,而硬件時鐘則是主板上由電池供電的時鐘,這個硬件時鐘可以在BIOS中進行設置。當Linux啟動時,硬件時鐘會去讀取系統時鐘的設置,然後系統時鐘就會獨立於硬件運作。

  Linux中的所有命令 (包括函數)都是采用的系統時鐘設置。在Linux中,用於時鐘查看和設置的命令主要有date、hwclock和clock。其中,clock和 hwclock用法相近,只不過clock命令除了支持x86硬件體系外,還支持Alpha硬件體系。
  1、date
  查看系統時間
  # date
  設置系統時間
  # date --set=“07/07/06 10:19" (月/日/年 時:分:秒)
  2、hwclock/clock
  查看硬件時間
  # hwclock --show
  # clock --show
  設置硬件時間
  # hwclock --set --date="07/07/06 10:19" (月/日/年 時:分:秒)
  # clock --set --date="07/07/06 10:19" (月/日/年 時:分:秒)
  3、硬件時間和系統時間的同步
  按照前面的說法,重新啟動系統,硬件時間會讀取系統時間,實現同步,但是在不重新啟動的時候,需要用hwclock或clock命令實現同步。
  硬件時鐘與系統時鐘同步:
  # hwclock --hctosys(hc代表硬件時間,sys代表系統時間)
  或者
  # clock --hctosys
  系統時鐘和硬件時鐘同步:
  # hwclock --systohc
  或者
  # clock --systohc
  4、時區的設置
  # tzselect

Copyright © Linux教程網 All Rights Reserved