常用時(または時刻)を表します。
このタイプは、次のいずれかの方法で民間時間を表すことができます。
- utcOffset が設定され、timeZone が設定されていない場合: UTC からの特定のオフセットがある暦日の常用時。
- timeZone が設定され、utcOffset が設定されていない場合: 特定のタイムゾーンの暦日における常用時。
- timeZone と utcOffset のどちらも設定されていない場合: カレンダーの日付の常用時刻(現地時間)。
日付は先発グレゴリオ暦に基づき、
year、month、day が 0 の場合、DateTime には特定の年、月、日が設定されていないと見なされます。
この型は、すべての日時フィールドが設定され、time_offset
oneof のいずれかのケースが設定されている場合に、物理的な時刻を表すために使用することもできます。代わりに、物理的な時間には Timestamp
メッセージを使用することを検討してください。ユースケースでユーザーのタイムゾーンも保存する場合は、別のフィールドで保存できます。
このタイプは、一部のアプリケーションで必要とされるよりも柔軟性があります。アプリケーションの制限事項を必ず記録し、検証してください。
JSON 表現 |
---|
{ "year": integer, "month": integer, "day": integer, "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer, // Union field |
フィールド | |
---|---|
year |
省略可。日付の年。1 ~ 9999 の範囲で指定するか、年のない日時を指定する場合は 0 にする必要があります。 |
month |
省略可。月。1 ~ 12 の範囲で指定するか、月のない日時を指定する場合は 0 にする必要があります。 |
day |
省略可。日。1 ~ 31 で、その年と月に対して有効である必要があります。日を指定しない日時を指定する場合は 0 にする必要があります。 |
hours |
省略可。時間(24 時間形式)。0 ~ 23 の範囲で指定します。デフォルトは 0(午前 0 時)です。API ではビジネスの終了時間などのシナリオにおいて、値 "24:00:00" を許可することもできます。 |
minutes |
省略可。分。0 ~ 59 の範囲で指定します。デフォルトは 0 です。 |
seconds |
省略可。秒。通常は 0 ~ 59 の範囲で指定します。デフォルトは 0 です。API がうるう秒を許可する場合、値 60 が許可されます。 |
nanos |
省略可。秒の小数部分(ナノ秒単位)。0 ~ 999,999,999 の範囲で指定します。デフォルトは 0 です。 |
共用体フィールド time_offset 。省略可。UTC オフセットまたは DateTime のタイムゾーンを指定します。タイムゾーン データが将来変更される可能性があることを考慮して、慎重に選択してください(たとえば、ある国で夏時間の開始日または終了日が変更され、影響を受ける期間の将来の DateTime がすでに保存されている場合など)。省略した場合、DateTime はローカル時間と見なされます。time_offset は次のいずれかになります。 |
|
utcOffset |
UTC オフセット。-18 時間~+18 時間の整数秒を指定する必要があります。たとえば、UTC オフセットが -4:00 の場合は、{ seconds: -14400 } と表されます。
|
timeZone |
タイムゾーン。 |
タイムゾーン
IANA タイムゾーン データベースのタイムゾーンを表します。
JSON 表現 |
---|
{ "id": string, "version": string } |
フィールド | |
---|---|
id |
IANA タイムゾーン データベースのタイムゾーン(例: "America/New_York")。 |
version |
省略可。IANA タイムゾーン データベースのバージョン番号(例: "2019a")。 |