3

私は、年に 2 回時刻が変わる国に住んでいます。つまり、UTC からのオフセットが -3 時間 (-180 分) の期間と、オフセットが -4 時間 (-240 分) の期間があります。

グラフィカルに:

       |------- (offset = -3) -------|------- (offset is -4) -------|
start of year                      mid                            end of year

私の質問は次
のとおりです。「タイムゾーン」はオフセットを表す単なる数値ですか? つまり、私の国には 2 つのタイムゾーンがありますか? またはタイムゾーンにこの情報が含まれていますか?

データベースにすべての日付を UTC タイムゾーン (オフセット = 0) で保存しているため、これは重要です。

代わりに、日付をローカルタイムゾーンで保存し、オフセットも保存する必要がありますか?

以下は、日付をタイムゾーン UTC で保存することによって発生する問題の例です
。人々がメッセージを送信するシステムがあるとします。
「1時間ごとに送信されたメッセージ」をプロットする統計セクションが必要です(つまり、「通常の1日の時間ごとに送信されたメッセージ」)

データベース全体に 2 つのメッセージしかないとします。

  1. メッセージ 1、3 月 1 日、UTC 時間午後 5 時 (現地時間午後 2 時) に送信
  2. メッセージ 2、8 月 1 日、UTC 時間午後 5 時 (現地時間午後 1 時) に送信

次に、8 月 2 日にプロットを作成した場合、これらの UTC 日付をローカルに変換すると、「午後 1 時に送信されたメッセージが 2 件」という不規則な情報が得られます。

4

3 に答える 3

2

つまり、私の国には 2 つのタイムゾーンがありますか? またはタイムゾーンにこの情報が含まれていますか?

「タイムゾーン」という用語には通常、その情報が含まれます。たとえば、Java では、「TimeZoneはタイム ゾーン オフセットを表し、夏時間も計算します」(リンク)。Unix 系のシステムでは、tzデータベースに DST 情報が含まれます。

ただし、単一のタイムスタンプの場合、完全なタイムゾーン識別子よりも UTC オフセットのみを指定する方が一般的だと思います。

[…] 私のデータベースに。

当然、データベースのドキュメントを参照するか、少なくとも使用しているデータベースと、それにアクセスするために使用しているツール (ドライバー、言語など) を示す必要があります。

于 2013-05-09T17:08:13.247 に答える
1

タイムゾーンを記述するための非常に一般的な形式を次に示します (ただし、Windows が使用する形式ではありません)。

単純なオフセット以上のものであることがわかります。オフセットの行に沿って、どのオフセットをいつ使用するかについての一連の規則 (時間の経過とともに変化) に沿ってさらに詳しく説明します。

于 2013-05-09T17:10:59.307 に答える