tzデータベースを使用してタイムゾーン間でタイムスタンプを変換する組み込み関数があると非常に役立ちます(詳細: https://data.iana.org/time-zones/tz-link.htmlとhttps://en.wikipedia.org/wiki/Tz_database )。タイムスタンプをあるタイムゾーンから別のタイムゾーンに定期的に変換する必要がありますが、単純にオフセットを適用することはできませんが、タイムスタンプを変換するためにオフセットを検索する必要があるのは時間がかかります。さらに、特定の場所には夏時間があり、他の場所にはないため、追加の作業が必要になります。また、夏時間の開始日と終了日は場所によって異なります。
この関数は次のようになります。
ConvertTimeZone( ts, tzFrom, tzTo ) //ts is the time stamp will be converted from tzFrom to tzTo
//example
ConvertTimeZone( 05May2022:19:31:07, "UTC", "America/Los_Angeles" ) //result: 05May2022:12:31:07
理想的には、すべての日時値がタイムゾーンを含むように変更され、指定されていない場合はデフォルトのUTCに設定されます。
各タイムゾーンはTZデータベース名を使用する必要があります( https://en.wikipedia.org/wiki/List_of_tz_database_time_zones )、他のプログラミング言語(例:Python)で使用されているように。
この問題に関する質問は次のとおりです。 https://community.jmp.com/t5/Discussions/Time-zone-conversion/mp/331514#M58032
タイムゾーンの問題の非常にユーモラスな説明については、次のビデオをご覧ください。 https://www.youtube.com/watch?v=-5wpm-gesOY&t=3s 。 長さは10分ですが、*時間*の価値は十分にあります(しゃれを許してください)。
素敵なビデオリファレンス、ありがとう。
ESP32クロックのJSLBLOBタイムゾーンの問題のいくつかについて説明します。 また、日付変更線を作成した後、簡単に理解しましたこのビデオ下端に2つの日の名前があります。
時間のある作業は本当に大変です。