Datahub上で使用されているデータは、BigQueryを基盤としており、すべての日時データは UTC(協定世界時) で管理されています。
一方で、フィルタリストなどでユーザーが入力する日付・時刻はJST(日本標準時)として解釈されます。 そのため、入力された日時から 9時間を差し引いたUTC値 をもとにクエリが実行される仕様となっています。

日時の取り扱いルール

1. データの格納形式(UTC)

  • Datahubのデータは、すべて UTC形式 で格納されています。
  • 例:2025-07-10T00:00:00Z は、JSTでは 2025-07-10 09:00:00 に相当します。

2. フィルタリスト画面での入力(日付・時刻)

  • フィルタリストでは、ユーザーがJSTで入力した日付・時刻を、内部的に9時間差分を引いてUTCとして解釈する処理が自動的に行われています。
  • これは、Datahub上のデータがUTCである前提に立って、JSTでの直感的な日付指定を可能にするための仕組みです。

入力・画面上での表示(JST) 実際の検索条件(UTC)
2025-07-10 00:00 2025-07-09 15:00
2025-07-11 23:59 2025-07-11 14:59

よくある問題:JSTの値をUTCとして格納してしまうケース

一部の外部システムからDatahubに取り込んだデータなどで、JSTの値をそのまま格納したことで、UTCとして取り扱われてしまうケースが確認されています。

問題の例

  • 本来 2025-07-10 10:00 JST のデータであるべきものが、2025-07-10T10:00:00Z(= JSTで19:00)として格納されている
  • この場合、9時間先の未来日時として扱われるため、意図しない時間帯に属するデータとして扱われる

対応方法

  • 外部データを取り込む際には、タイムゾーンの整合性を確認してください
  • 必要に応じて、以下のように明示的な変換を行ってください:

```sql
-- JST表記の文字列をUTCとして正しく解釈させたい場合
TIMESTAMP(DATETIME "2025-07-10 10:00", "Asia/Tokyo")