web-dev-qa-db-ja.com

UNIX時間形式を理解するには?

Unixの時刻形式はどのように機能しますか?たとえば、Unix時間の3:00 PMは次のとおりです。

Normal time format <----3:00PM = 1402565420----> Unix Time

時間を:00 PMとして理解させるにはどうすればよいですか?

6
Babin Lonston

Unix時間は エポックからの秒数 として与えられます:00:00:00協定世界時(UTC)または1月1日木曜日から経過した秒数(うるう秒は含まれません)。 1970

GNU dateコマンドには、さまざまな時間形式間で変換できるいくつかの非常に優れた機能があります。これらはman dateで非常にうまく説明されているので、ここにいくつかの例:

### "Normal" format
$ date
Thu Jun 12 11:44:23 CEST 2014
### Unix time
$ date +%s
1402566271

変換するには、-dフラグを使用してdateに特定の日付を指定できます。ただし、Unixの日付を取得するには、完全な日付である必要があります。 Unix時間は日付全体(年、月、日、時間)を参照するため、3:00PMを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
14
terdon