解説
「UNIX時間」は、コンピュータ上での時刻表現の1つです。UNIXだけでなく多くの環境で、この時刻表現は利用されています。
UNIX時間では、1970年1月1日午前0時0分0秒からの経過秒数で時刻を表します。多くのプログラミング言語では、この時間から人間が読むことのできる文字列に変換する関数などが用意されています。
UNIX時間は桁数が大きく、32ビットの符号付整数に格納した場合、2038年1月19日3時14分7秒を過ぎると、値がマイナスになってしまいます。この問題を2038年問題と言います。UNIX時間をプログラムで使う場合は、64ビットの符号付整数を利用する必要があります。
サンプル
「UNIX時間」のサンプルです。
ファイルはUTF-8で保存してください。検証はGoogle Chromeで行なっています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>「UNIX時間」のサンプル</title>
</head>
<body>
<pre><script>
let dt;
dt = new Date(0);
document.writeln(dt.toLocaleString('ja-JP', {timeZone: 'UTC'}));
dt = new Date('01 Aug 2019 12:34:56 GMT');
document.writeln(dt.toLocaleString('ja-JP', {timeZone: 'UTC'}));
// JavaScriptの時間単位はミリ秒。1000ミリ秒は1秒。
// 開始時間は、UNIX時間と同じ。
dt = new Date(dt.valueOf() - 20 * 60 * 60 * 1000);
document.writeln(dt.toLocaleString('ja-JP', {timeZone: 'UTC'}));
</script></pre>
</body>
</html>
1970/1/1 0:00:00 2019/8/1 12:34:56 2019/7/31 16:34:56
