時間/数値

Unix Timestamp ↔ 日付

Unix時間を日付に変換、またはその逆。任意のタイムゾーン(IANA)に対応。


                    

Unix time (epoch time) is the number of seconds elapsed since January 1, 1970, 00:00:00 UTC. It's the most common way to store time in databases, APIs, and logs, since it's just a single integer with no tie to a specific timezone or date format.

How to use it

Common uses

Things to keep in mind

Mixing up seconds and milliseconds is the most common mistake: JavaScript's Date.now() returns milliseconds, while most Unix APIs use seconds — a factor of 1000 off.

Unix time itself has no timezone — it's always UTC; a timezone is only applied when displaying the date to a person.

このツールに関する記事: Unix時間:コンピュータが1970年から時間を数える理由

よくある質問

Unixタイムスタンプとは何ですか?

これは1970年1月1日00:00:00 UTC(Unixエポック)から経過した秒数です。この数値はどのタイムゾーンにも紐付けられていません — タイムゾーンは日付を人に表示するときにのみ適用されます。

秒とミリ秒の違いは何ですか?

JavaScriptや一部のAPI(Date.now()など)はミリ秒でタイムスタンプを返しますが、古典的なUnix時間は秒単位です。単位を間違えると、日付が1970年になるか、遠い未来のどこかになります — 「単位」フィールドで正しい単位を選んでください。

2038年問題とは何ですか?

タイムスタンプが符号付き32ビット整数として保存されるシステムでは、秒カウンターが2038年1月19日にオーバーフローします。現代の64ビットシステムにはこの問題はありません。

Unix時間はうるう秒を考慮しますか?

いいえ、Unix時間では1日は常にちょうど86400秒であり、うるう秒は無視されます。天文学的なUTCと正確に同期する必要があるシステムは、標準のUnixタイムスタンプとは別の仕組みでうるう秒を処理します。

Unixタイムスタンプは負の値になり得ますか?

はい、負の値は1970年1月1日より前の日付に対応します。ほとんどの現代のシステムはこうした値を正しく処理しますが、一部の古いAPIやライブラリでは対応していない場合があります。

記事: 時間/数値

Cron式:タスクのスケジュールを読み解く方法

*/15 * * * *のような式を読み解き、タスクが正確にいつ実行されるかを知る方法。

数値システム:2進法、8進法、16進法が存在する理由

CSSの色#FF5733が10進数ではなく16進数の桁で書かれる理由。

ビット演算:AND、OR、XORがビットレベルでどう動作するか

ビットAND が論理ANDとどう違うか、そしてなぜ数値の個々のビットを操作する必要があるのか。

日付の差:日数を数えることが見た目より複雑な理由

うるう年のせいで日付を単純に引き算すると間違った結果になる理由。

年齢計算:単純な年の引き算ではない理由

単純に生まれた年を引き算すると、実際より1歳多い年齢になることがある理由。

タイムゾーン:UTCがGMTと同じではない理由

UTCが年に2回変わることはないのに、ロンドン時間(GMT/BST)は変わる理由。

時間計算:時間・分・秒を正しく合計する方法

分と秒を足すとき、10進法の足し算と同じように余りを次の桁に「繰り上げ」なければならない理由。

ISO 8601 Duration:標準フォーマットで時間の長さを書く方法

PT1H30Mが「1時間30分」を意味し、「1分30時間」を意味しない理由。

週番号:国によって週の数え方が異なる理由

ISO 8601標準では1月1日が前年の第52週または第53週に属することがある理由。

ローマ数字:ゼロも位取りもないシステムの仕組み

IVが6ではなく4を意味する理由と、ローマ数字における減算のルールの仕組み。

IEEE 754:コードで0.1 + 0.2が0.3にならない理由

ほとんどすべてのプログラミング言語で0.1 + 0.2が0.30000000000000004と表示される理由。

数字を言葉に:数字を単語に変換する理由

銀行文書が金額を数字と言葉の両方で同時に書く理由。