DateTime

常用時(または物理的な時間)を表します。

この型は、次のいずれかの方法で常用時を表します。

  • utcOffset が設定され、timeZone が未設定の場合: UTC から特定のオフセットを持つ暦日の常用時。
  • timeZone が設定され、utcOffset が未設定の場合: 特定のタイムゾーンの暦日の常用時。
  • timeZone と utcOffset のどちらも設定されていない場合: 暦日の常用時(現地時間)。

日付は先発グレゴリオ暦を基準としています。

年、月、日が 0 の場合、DateTime はそれぞれ特定の年、月、日を持たないとみなされます。

この型は、すべての日付と時刻のフィールドが設定され、time_offset の oneof のいずれかが大文字か小文字かのいずれかに設定されている場合は、物理的な時刻を表すためにも使用できます。代わりに、Timestamp のメッセージを物理的な時間に使用することをご検討ください。ユースケースでユーザーのタイムゾーンも保存する必要がある場合は、別のフィールドで保存できます。

このタイプは、一部のアプリケーションの要件よりも柔軟性があります。アプリケーションの制限事項を必ず文書化して検証してください。

JSON 表現
{
  "year": integer,
  "month": integer,
  "day": integer,
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer,

  // Union field time_offset can be only one of the following:
  "utcOffset": string,
  "timeZone": {
    object (TimeZone)
  }
  // End of list of possible types for union field time_offset.
}
フィールド
year

integer

省略可。日付の年。1 ~ 9999 にする必要があります。年のない日時を指定する場合は 0 にします。

month

integer

省略可。月。1 ~ 12 にする必要があります。月のない日時を指定する場合は 0 にする必要があります。

day

integer

省略可。日。1 ~ 31 の値で、年と月に対して有効か、日なしの日時を指定する場合は 0 にする必要があります。

hours

integer

省略可。時間(24 時間形式)。0 ~ 23 の範囲で指定します。デフォルトは 0(午前 0 時)です。API ではビジネスの終了時間などのシナリオにおいて、値 "24:00:00" を許可することもできます。

minutes

integer

省略可。分。0 ~ 59 にする必要があります。デフォルトは 0 です。

seconds

integer

省略可。秒。通常は 0 ~ 59 にする必要があります。デフォルトは 0 です。API がうるう秒を許可する場合、値 60 が許可されます。

nanos

integer

省略可。秒の小数部分(ナノ秒単位)。0 ~ 999,999,999 の範囲で指定する必要があります。デフォルトは 0 です。

共用体フィールド time_offset。省略可。DateTime の UTC オフセットまたはタイムゾーンを指定します。タイムゾーン データは将来変更される可能性があることを考慮して慎重に選択してください(たとえば、国によって DST の開始日と終了日が変更され、影響を受ける範囲内の将来の DateTime がすでに保存されている場合など)。省略した場合、DateTime は現地時間とみなされます。time_offset は次のいずれかになります。
utcOffset

string (Duration format)

UTC オフセット。秒(-18 時間~+18 時間)で指定します。たとえば、UTC オフセットが -4:00 の場合は、{ seconds: -14400 } となります。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

timeZone

object (TimeZone)

タイムゾーン。

TimeZone

IANA タイムゾーン データベースのタイムゾーンを表します。

JSON 表現
{
  "id": string,
  "version": string
}
フィールド
id

string

IANA タイムゾーン データベースのタイムゾーン(例: "America/New_York")。

version

string

省略可。IANA タイムゾーン データベースのバージョン番号(例: "2019a")。