常用時(場合によっては現地時間)を表します。
このタイプは、以下のいずれかの方法で一般公開時刻を表します。
- utcOffset が設定され、timeZone が設定されていない場合、暦日では UTC からの特定のオフセットで常用時です。
- timeZone が設定され、utcOffset が設定されていない場合、特定のタイムゾーンの暦日の常用時です。
- timeZone も utcOffset も設定されていない場合、暦日の現地時間で常用時です。
日付は先発グレゴリオ暦を基準としています。
年、月、日が 0 の場合、DateTime はそれぞれ特定の年、月、日がないとみなされます。
このタイプは、すべての日付と時刻のフィールドが設定され、time_offset
のいずれかのケースが設定されている場合に、物理的な時刻を表すためにも使用できます。実際の連絡には、代わりに 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 のタイムゾーンを指定します。タイムゾーン データは将来変更される可能性もあるため(慎重に検討してください)、たとえば、国によって DST の開始日と終了日が変更され、影響を受ける期間の将来の DateTime がすでに保存されている場合などです。省略した場合、DateTime は現地時間とみなされます。time_offset は次のいずれかになります。 |
|
utcOffset |
UTC オフセット。-18 ~+18 時間(秒)で指定してください。たとえば、UTC オフセットの -4:00 は { 秒: -14400 } として表されます。 小数点以下 9 桁までの値で、末尾が「 |
timeZone |
タイムゾーン。 |
TimeZone
IANA タイムゾーン データベースのタイムゾーンを表します。
JSON 表現 |
---|
{ "id": string, "version": string } |
フィールド | |
---|---|
id |
IANA タイムゾーン データベースのタイムゾーン(例: "America/New_York")。 |
version |
(省略可)IANA タイムゾーン データベースのバージョン番号(例: "2019a")。 |