상용시(또는 간혹 물리적 시간)를 나타냅니다.
이 유형은 다음 몇 가지 가능한 방법 중 하나로 상용시를 나타낼 수 있습니다.
- 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(자정)입니다. 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'). |