상용시 (또는 실제 시간)를 나타냅니다.
이 유형은 다음과 같은 몇 가지 방법으로 상용시를 나타낼 수 있습니다.
- 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'). |