
Unix 時間格式如何運作?例如,下午 3:00 的 Unix 時間為:
Normal time format <----3:00PM = 1402565420----> Unix Time
我怎麼才能讓它理解時間3:00 PM?
答案1
Unix 時間給出為自紀元以來的秒數:自 00:00:00 協調世界時 (UTC) 或 1970 年 1 月 1 日星期四以來經過的秒數(不包括閏秒),
GNUdate
命令有一些非常好的功能,可讓您在不同的時間格式之間進行轉換。這些都解釋得很好,man date
所以我在這裡只給你一些例子:
### "Normal" format
$ date
Thu Jun 12 11:44:23 CEST 2014
### Unix time
$ date +%s
1402566271
要進行轉換,您可以date
使用標誌給出特定日期-d
。但是,要取得 Unix 日期,這需要是完整的日期。您無法將 3:00PM 轉換為 Unix 時間,因為 Unix 時間指的是整個日期(年、月、日、時間)。例如,要取得 1987 年 9 月 12 日的 Unix 日期,您可以執行下列操作:
$ date -d "3 PM 12 September 1987" +%s
558450000
並將其轉換回“正常”日期:
$ date -d "@558450000"
Sat Sep 12 15:00:00 CEST 1987