日付/時刻/タイムスタンプ概論

プログラミングにおける日付/時刻やタイムスタンプ周りの知識をまとめる.

各論

📝UNIX時間

UNIX Timestamp. エポック秒(Epoch)ともいう.

コンピュータシステムでの時刻表現のスタンダード.

1970年1月1日午前0時0分0秒(UNIXエポック)から形式的な経過秒数.


💡JavaのUNIX時間はミリ秒を採用

通常は9ケタの数字だが, Javaは13ケタのミリ秒まで含めた場合があるので注意. java.lang.System.currentTimeMillis()というミリ秒まで仕様している(ハマった).

ISO8601

日時と時刻の表記に関する標準化の国際ルール.

しばしばタイムスタンプを生成する際に利用される.

Tのフォーマット

DateとTimeの間にあるTの文字はISO8601の定める区切り文字の表記ルール. それ以上の特別な意味はない.

Zのフォーマット

秒の後ろにあるZの文字はISO8601の定めるUTCを表す文字.

これがつかない場合はタイムゾーンを示す±時間の表記がつく.

📝タイムゾーン(Timezone)

タイムゾーンとは、地球上で同一の標準時を採用している地域の集合のこと. コンピュータなどで機器内部の時刻をどの地域の標準時で運用するかを定めた設定項目.

📝協定世界時(UTC)

世界標準時.

📝日本標準時(JST)

日本の地域は 日本標準時JST(Japan Standard Time)に定められている.

UTCから9時間進めた時刻(UTC+9)を日本標準時と定義してある.

📝ローケル(Locale)

システムやソフトウェアにおける言語や国・地域の設定のこと.

これを設定することで例えば日本では月/年のような表記が扱える.

up: 📂ソフトウェア開発概論