はじめに
DBなどでよく見かける「2004-04-01T12:00+09:00」といった表記の「+09:00」の部分が何を意味しているのか、について備忘録を残します。
前提
タイムゾーンについてはすでに知識があるとします。
本題
結論から言うと、「+09:00」は「UTCからの時間的なずれ」を意味しています。
つまり、「2004-04-01T12:00+09:00」を例に取ると
UTC(2004-04-01 3:00)に9時間プラス(+09:00)すると、Asia/Tokyo(2004-04-01 12:00)になる
ということなんですね。
さいごに
オフセットの部分(+09:00)をはぶいた日時がローカルタイム(Asia/Tokyoなど)を表している、と整理しておくとシンプルでよいかもしれません。