ロケールの更新

ロケールの更新

[49] ロケールに関わるデータの一部は、 またはレベルで随時更新されていきます。 それに依存するソフトウェアは、 何らかの自動更新の仕組みを保持するべきです。

更新されるべき情報

[50] 改元即日施行されたりします。
[54] 将来の日時も参照。

[57] プラットフォームアプリケーションは、 ロケールに関する情報の更新を適切に反映させる仕組みを持つ必要があります。

[58] 例えば政府夏時刻の実施を1週間前に決定し、 プラットフォームの提供者が時間帯データベースの更新データを2日前に配信した場合、 プラットフォームがこれを取得し、 (プラットフォームおよび連続して稼働中のアプリケーションも含めて) 実施までに現に参照しているデータベースを新しい定義に置き換える必要があります。

[59] 例えば政府夏時刻の実施の中止を直前に発表し、 プラットフォームの提供者の更新データ配布がそれに間に合わず実施翌日に配信した場合、 プラットフォームは誤って夏時刻に移行した後に更新データを適用することになります。 プラットフォーム地方時夏時刻から標準時に戻すことになり、 時刻の不連続が発生します。 誤った夏時刻の実施中に夏時刻で記述された時刻は、 データベースの訂正後にも正しい時刻と解釈され続けるべきですが、 そのように実装されているかどうかはケースバイケースでしょう。

[52] 次の情報は、それほど頻繁には更新されないかもしれません。

[11] 夏時刻の実施予定変更に伴う交通ダイヤデータベースの更新など、 日時に関する変更に付随して発生する変更のためのデータ更新が適切なタイミングで行われる必要があります。

[12] 場合によってはそうした別の変更が日時の変更より先に適用されておかしな挙動を示すかもしれません。

更新に依存しないべきもの

[2] 内部動作に深く関わるものや、後から参照する重要な情報は、 こうした更新に依存しない形にしておくべきです。

[3] 例えばシステム時計夏時刻実施の影響を受けるとすると、 夏時刻の実施情報が適切なタイミングで配信されないと、 誤ったシステム時計の値に設定されることになりますから、 時刻に依存したあらゆるものの動作に悪影響が及びます。

[4] 例えばシステムが閏秒のないUTCで動作しているとき、 ログファイル日時TAI を使うとすると、 UTCTAI の換算が必要となってきます。 換算に必要な閏秒の実施の情報が適切なタイミングで適用されていないと、 閏秒実施後のログファイル上の日時が不正確になってしまいます。 これではログファイルで後から動作状況を確認することが困難になるかもしれません。

相互運用性

[13] 相互接続された複数のシステムがそれぞれ別のタイミングで別の更新情報を受け取る可能性があります。

[1] 複雑なシステムでは、 ロケール情報の更新のタイミングに注意すると共に、 未知のロケール情報を受信しても誤動作することのないように工夫が必要です。

[5] tzdata時間帯の名前と定義は、たまに新しいものが追加されます。 アプリケーションのデータが更新されてもミドルウェアのデータが未更新の場合、 新しい時間帯を指定した時エラーになるかもしれません。

[14] 新元号への対応が各システムに行き渡る前に新元号を使ったデータを送信すると、 古いままのシステムが処理できないおそれがあります。

実装

[6] Windows では、 新しい標準時夏時刻の情報がたまに Windows Update で配信されています。

メモ

[7] Time Zone Rules  |  Android Open Source Project () https://source.android.com/devices/tech/config/timezone-rules

[410] [tz] Time zone confusion in Morocco () https://mm.icann.org/pipermail/tz/2018-November/027151.html

[8] How to get updated time zone information for your Apple device - Apple Support () https://support.apple.com/en-us/HT206986

[9] Red Hat Enterprise Linux Timezone Data (tzdata) - Development Status Page () https://access.redhat.com/articles/1187353

[15] Windows でクロアチアの通貨が正しく表示されない問題 | スラド IT () https://it.srad.jp/story/23/02/25/0624254/