Amazon QuickSight のカスタムタイムゾーンでサマータイムの挙動を調べてみた

2023.11.25

いわさです。

先日 Amazon QuickSight でカスタムタイムゾーンがサポートされたというアップデートを紹介させて頂きました。

アップデート内容について上記記事を見て頂きたいのですが、後日このアップデートに関する情報が公式ドキュメントに追記されました。

概ね動作確認した内容と同じことが記載されていたのですが、サマータイムについて言及されていました。
このカスタムタイムゾーン機能はサマータイム(Daylight Savings Time)の調整機能が含まれているようです。

Daylight Savings Time (DST) adjustments are applied automatically to eliminate the need for time consuming workarounds that don't accurately handle historical dates.

日本国内向けにタイムゾーン調整する際は UTC に強制的に+9時間して終わることも多いと思いますが、サマータイムが導入されている地域については考慮が必要な場合があります。

今回のカスタムタイムゾーン機能でサマータイムが考慮されていることで日本のタイムゾーンに影響がないのかが気になったので検証結果を紹介したいと思います。

検証方法

次のような夏期間と冬期間の 00:00 の日時データを用意し、分析のタイムゾーン変換を設定した際にどのような変換のされ方になるのかを観察してみました。これだけです!

サマータイムが導入されていないタイムゾーン

Japan

日本はサマータイムが導入されていません。
QuickSight のカスタムタイムゾーンを適用したところ、次のように+9時間されました。

サマータイムの考慮による影響を日本のタイムゾーンが受けていないことが確認出来ました。

サマータイムが導入されているタイムゾーン

南半球:Australia/Sydney

オーストラリアは標準時間が複数存在しており、さらに地域ごとにサマータイムが導入されていたり、されていなかったりと少し複雑になっています。

参考:オーストラリア時間 - Wikipedia

シドニーはニューサウスウェールズ州の州都になりますので、上記参考ページによるとオーストラリア東部標準時(UTC+10)かつサマータイムが導入されています。

今回は日本の感覚で夏期間を想定した8月1日と、冬期間を想定した1月1日を適当に選んだのですが、サマータイムの期間については北半球と南半球で期間が異なっており、北半球ではだいたい4月から10月にサマータイムを適用し、南半球では10月から3月に適用するようです。
参考ページでもシドニー(ニューサウスウェールズ州)のサマータイム適用期間は「10月第一日曜日午前2:00~4月第一日曜日午前3:00」とされています。

QuickSight で「Australia/Sydney」を適用すると次のように8月はUTC+10となり、1月はサマータイムが適用されUTC+11となっています。

北半球:America/New_York

一方でアメリカ合衆国のサマータイムは「3月第二日曜日午前2:00~11月第一日曜日午前2:00」とされています。
ニューヨーク州では標準時がUTC-5となっています。

QuickSight で「America/New_York」を適用してみると、8月は+1時間のUTC-4となり、1月は標準のUTC-5となりました。

地域ごとに適切な処理がされているようです。

少し変則的なサマータイムも確認してみた

「サマータイムとは夏期間に+1時間進めるもの」だと思いこんでいたのですが、今回調べていて進める時間が1時間以外の場所があることを知りました。

1時間ではないサマータイムが導入されている:Australia/Load_Howe

先程のオーストラリアだと本土周辺に「ロード・ハウ島」という島があります。

ロード・ハウ島では標準時がUTC+10:30で、サマータイムがUTC+11となっており、サマータイムで30分だけ進行するようになっています。ほう。

QuickSight で「Australia/Load_Howe」を試してみると次のように夏期間だけ 30 分進行しました。

ちなみにこちらは標準時がUTC+10:30というキリの悪い数字だからなのかなと思い、アデレード(UTC+9:30、サマータイムあり)でも確認してみたのですが、アデレードの場合はサマータイムで 1 時間進行しています。地域ごとにちゃんと適用されていますね。

特定期間以外は通年サマータイム:Africa/Casablanca

モロッコは現在は通年サマータイム(UTC+1)なのですがラマダン(断食月)期間のみ標準時(UTC)に戻ります。
ラマダンの期間は毎年変わり、直前まではっきりした日程はわからないそうです。

2022年は4月1日から5月1日まで、2023年は3月22日から4月21日まででした。

モロッコ時間 - Wikipedia

そこで、次のように2022年と2023年のラマダン前後を含む日時データを作成してみました。

こちらを QuickSight で「Africa/Casablanca」にて試してみたところ、通年サマータイムもラマダン期間も反映されていませんでした。どうやらサポートされていないようです。

サマータイム切り替わりタイミングを確認してみた

今回はシドニーでサマータイム切り替わりのタイミングを確認してみました。
「10月第一日曜日午前2:00~4月第一日曜日午前3:00」なので、それらを跨ぐように 2023 年と 2024 年のデータを作成しました。

タイムゾーンを適用してみると期待どおりにその日を境に適用されていることが確認出来ました。

さいごに

本日は Amazon QuickSight のカスタムタイムゾーンでサマータイムの挙動を調べてみました。

まず、JST のみを対象に使用する分にはサマータイムの挙動は無視して QuickSight のカスタムタイムゾーン機能使っても問題なさそうです。

また、日本以外を対象に使う場合でも、標準的なサマータイムであれば地域ごとにうまく考慮されていることがわかりました。
一方で特殊なサマータイム適用ルールの場合はサポートされていない場合があるようなので、ご利用になられる地域にあわせてサポートされているかどうか念のため確認したほうが良さそうです。