UNIX時間
出典: フリー百科事典『ウィキペディア(Wikipedia)』
UNIX時間(ユニックスじかん)またはUNIX時刻(ユニックスじこく、UNIX time、POSIX time)とはコンピューターシステム上で日時を表す単位。UTCでの1970年1月1日真夜中(0時0分0秒)からの経過秒数(閏秒を加味しない)で表される。
UNIX系オペレーティングシステムだけでなく、他の多くのオペレーティングシステムにおいてもこの単位が用いられている。システム内部では32ビットまたは64ビットの符号付整数(signed int)で扱われていることが普通であり、特に32ビットで扱われている場合においては符号付整数が取れる最大値 2147483647 を超える時点で時刻を扱えなくなるという問題がある。これを2038年問題という。
| 例: 1330573159 (2012-03-01 03:39:19Z) (このページが最後に生成されたUNIX時間) |
[編集] UNIX時刻の表示例
| UNIX時間 | UTC | JST |
|---|---|---|
| 0 | 1970-01-01T00:00:00 | 1970-01-01T09:00:00 |
| 100000000 | 1973-03-03T09:46:40 | 1973-03-03T18:46:40 |
| 1000000000 | 2001-09-09T01:46:40 | 2001-09-09T10:46:40 |
| 1234567890 | 2009-02-13T23:31:30 | 2009-02-14T08:31:30 |
| 2147483647 | 2038-01-19T03:14:07 | 2038-01-19T12:14:07 |
UNIX/Linuxのシェル上で、UNIX時間をUTCに変換する例
date -u -d '@1234567890'
*BSDのシェル上で、UNIX時間をUTCに変換する例
date -jr '1234567890'
UNIX/Linuxのシェル上で、UNIX時間をローカル時刻に変換する例
date -d '@1234567890'
*BSDのシェル上で、UNIX時間をローカル時刻に変換する例
date -j '+%s'
WebブラウザのURLに入力することで表示させる例
javascript:window.alert(Math.floor((new Date()).getTime()/1000))
C言語で現在のUNIX時刻を表示するプログラム
#include <stdio.h> #include <time.h> int main(void) { time_t now; now = time(NULL); printf("%ld", now); return 0; }