本文へ移動

予定の時刻がずれるのはなぜ?タイムゾーンと「日付だけ」の違い

同じ予定でも、見る人の地域によって表示時刻が変わることがあります。日時を扱うときは、世界のどこでも同じ一瞬を表すのか、その場所の時計に合わせるのか、日付だけが必要なのかを分けると整理しやすくなります。

「9時」だけでは、同じ瞬間を指せない

オンライン会議を「午前9時」と伝えても、日本の9時なのか、別の地域の9時なのかで参加する瞬間は違います。時刻には、基準となる地域やUTCからの差という情報が必要です。

UTCは時刻の基準として使われます。「+09:00」のような差をUTCオフセットと呼びます。たとえば09:00と+09:00を組にすれば、UTCの00:00に対応することが分かります。

MDNのタイムゾーンの解説は、世界共通の瞬間、地域の日時、UTCオフセットの関係を説明しています。アプリで表示する地域を変えても、会議そのものの瞬間まで変えるとは限らない点が要所です。

地域名とUTCからの差は、同じ情報ではない

タイムゾーンには「Asia/Tokyo」のような地域を表す名前があります。名前は、その地域で時刻をどう扱うかという規則に結び付きます。

夏時間のある地域では、季節によってUTCからの差が変わります。前掲のMDNも、固定のオフセットだけでは、夏時間の切り替えをまたぐ計算で地域の時刻を保てない場合があると説明しています。

「毎週、現地の9時に始める会議」と「前回から正確に168時間後の処理」は、同じ意味ではありません。前者は現地の時計を基準にし、後者は経過時間を基準にしています。これは予定の意味を比較する例で、特定のカレンダー製品の動作を示したものではありません。

夏時間の切り替えには、現地の時計で存在しない時刻や、二度現れる時刻もあります。繰り返し予定では、アプリがそうした時刻をどう処理するかまで確認対象になります。

誕生日や締切日を、無理に時刻へ変えない

日時の項目に見えても、実際には日付だけを表している場合があります。誕生日や「9月30日分の集計」といった情報です。

日付だけの情報を一律に深夜0時の瞬間へ変換し、見る人のタイムゾーンで表示し直すと、前日や翌日に見える可能性があります。これは時差計算の結果であり、元の情報が伝えたい意味とは合わないことがあります。

次の表は、アプリの項目を整理するための記事独自の例です。

表が見切れる場合は横にスクロールできます

誕生日や締切日を、無理に時刻へ変えないの表

項目の意味

残したい情報

全員が同時に参加する会議

開始する瞬間と、表示する地域

店舗の毎日の開店時刻

店舗の地域と現地の時計の時刻

誕生日

年月日、または月日

応募の締切

日付だけか、特定地域の何時までか

「締切は9月30日」だけでは、終日のどこまで受け付けるか決まりません。必要な精度を確かめてから項目を選ぶと、表示側の補完に頼らずに済みます。

表示と保存を、異なる地域で確かめる

日時を扱う画面の確認では、入力した値、保存された意味、再表示の三つを比べる方法が考えられます。自分の端末と別のタイムゾーン、日付が変わる前後、夏時間の切り替えを含む予定が手掛かりになります。

会議なら参加する瞬間が一致するか、誕生日なら日付が変わらないかを見ます。どの項目も「表示が同じなら正しい」とは言えず、項目の目的から期待する結果を決めることが大切です。

まとめ

日時は、同じ瞬間、地域の時計、日付だけという意味を分けて扱えます。予定がずれたときは時差の計算だけでなく、元の項目が何を表しているかから見直してみてください。

異なるサービスへ日時を渡す場面は、API連携で確認したいデータと操作も参考になります。