30分・45分オフセットのタイムゾーン

非標準オフセットを使用するタイムゾーンの包括的リファレンス:UTCからの30分および45分オフセット。ソフトウェア開発者への実践的な影響を含みます。

Edge Cases

詳細な説明

非標準タイムゾーンオフセット

ほとんどの人はタイムゾーンが1時間単位で刻まれると想定していますが、かなりの数の地域が30分や45分のUTCからのオフセットを使用しています。

30分オフセットのタイムゾーン

IANA ID 一般名 UTCオフセット DST?
Asia/Kolkata インド標準時 +05:30 なし
Asia/Kabul アフガニスタン時間 +04:30 なし
Asia/Tehran イラン時間 +03:30 あり(+04:30)
Australia/Adelaide オーストラリア中部 +09:30 あり(+10:30)
America/St_Johns ニューファンドランド -03:30 あり(-02:30)

45分オフセットのタイムゾーン

IANA ID 一般名 UTCオフセット DST?
Asia/Kathmandu ネパール時間 +05:45 なし
Pacific/Chatham チャタム島時間 +12:45 あり(+13:45)

これらのオフセットが存在する理由

ほとんどの非標準オフセットには歴史的または政治的な理由があります:

  • インド(+05:30):1906年に標準化されたコルカタとムンバイの太陽時の妥協
  • ネパール(+05:45):インドとの差別化のため、カトマンズの太陽時に基づく
  • ニューファンドランド(-03:30):セントジョンズの太陽時に基づく

ソフトウェアへの影響

1. 期間計算: UTCからカトマンズへの変換では、14:00 UTCは19:45 NPT(20:00ではない!)

2. Cronジョブの整列: カトマンズの深夜にジョブを実行する必要がある場合:15 18 * * *(18:15 UTC = 00:00 NPT)

3. テストの推奨事項: テストスイートには少なくとも1つの30分オフセットタイムゾーンを含めてください。

インドだけでも14億人以上が+05:30タイムゾーンにいるため、これはエッジケースとは言えません。

ユースケース

非標準タイムゾーンオフセットは、日付/時刻計算で1時間単位のオフセットを仮定するすべてのソフトウェアに影響します。これには日割り料金を計算する課金システム、日付でデータをグループ化する分析プラットフォーム、正確なアライメントが必要なスケジューリングアプリケーション、国際的なコミュニケーションツールが含まれます。

Try It — Timezone Reference

フルツールを開く