Package google.type

색인

날짜

생일과 같은 전체 또는 부분 달력 날짜를 나타냅니다. 시간과 시간대는 아무 곳으로 지정되거나 중요하지 않습니다. 날짜는 그레고리력을 기준으로 합니다. 다음 중 하나를 나타낼 수 있습니다.

  • 연도, 월, 일 값이 0이 아닌 전체 날짜
  • 월과 일, 연도는 0(예: 기념일)
  • 연도만, 월과 일은 0
  • 연도와 월, 일은 0(예: 신용카드 만료일)

관련 유형:

필드
year

int32

날짜의 연도입니다. 1~9999 사이여야 하며, 연도 없이 날짜를 지정하려면 0이어야 합니다.

month

int32

연도의 월입니다. 1~12 사이여야 하며, 월과 일 없이 연도를 지정하려면 0이어야 합니다.

day

int32

월의 일입니다. 1~31 사이여야 하고 해당 연도 및 월에 유효해야 합니다. 또는 연도만 지정하거나 일이 중요하지 않아 연도와 월을 지정하려면 0이어야 합니다.

DateTime

상용시(또는 간혹 물리적 시간)를 나타냅니다.

이 유형은 다음 몇 가지 가능한 방법 중 하나로 상용시를 나타낼 수 있습니다.

  • utc_offset이 설정되고 time_zone이 설정되지 않은 경우: UTC 기준으로 특정 오프셋이 있는 캘린더 일자의 상용시입니다.
  • time_zone이 설정되고 utc_offset이 설정되지 않은 경우: 특정 시간대의 캘린더 일자 상용시입니다.
  • time_zone 또는 utc_offset이 모두 설정되지 않은 경우: 현지 시간으로 캘린더 일자의 상용시입니다.

날짜는 그레고리력을 기준으로 합니다.

연도, 월, 일이 0이면 DateTime에 각각 특정 연도, 월, 일이 없는 것으로 간주됩니다.

이 유형은 모든 날짜 및 시간 필드가 설정되었고 time_offset 중 하나가 설정된 경우 실제 시간을 나타내는 데 사용될 수도 있습니다. 실제 시간으로 대신 Timestamp 메시지를 사용하는 것이 좋습니다. 사용 사례에서 사용자의 시간대를 저장하려는 경우 다른 필드에서 저장할 수 있습니다.

이 유형은 일부 애플리케이션에 필요한 것보다 더 유연합니다. 애플리케이션의 제한사항을 문서화하고 검증하세요.

필드
year

int32

선택사항. 연도. 1~9999 사이의 값이어야 합니다. 단, 연도 없이 날짜/시간을 지정할 경우 0입니다.

month

int32

선택사항. 월. 1~12 사이의 값이어야 합니다. 단, 월 없이 날짜/시간을 지정할 경우 0입니다.

day

int32

선택사항. 일. 1~31 사이의 값이어야 하며 유효한 연도와 월이어야 합니다. 정해진 날 없이 날짜/시간을 지정할 경우 0입니다.

hours

int32

선택사항. 24시간 형식의 시간입니다. 0~23 사이의 값이어야 하며 기본값은 0(자정)입니다. API는 비즈니스 종료 시간과 같은 시나리오에서 '24:00:00' 값을 허용하도록 선택할 수 있습니다.

minutes

int32

선택사항. 특정 시간의 분입니다. 0에서 59 사이의 값이어야 하며 기본값은 0입니다.

seconds

int32

선택사항. 특정 분의 초입니다. 일반적으로 0에서 59 사이의 값이어야 하며 기본값은 0입니다. API가 윤초를 허용하는 경우 값에 60을 사용할 수 있습니다.

nanos

int32

선택사항. 나노초 단위의 초수입니다. 0~999,999,999 사이의 값이어야 하며 기본값은 0입니다.

통합 필드 time_offset. 선택사항. UTC 오프셋 또는 DateTime의 시간대를 지정합니다. 이후에 시간대 데이터가 변경될 수 있으므로(예: 국가에서 DST 시작일/종료일을 수정하고 영향을 받는 범위의 향후 DateTime이 이미 저장된 경우) 이 점을 고려하여 신중하게 선택하세요. 생략하면 DateTime이 현지 시간으로 간주됩니다. time_offset은 다음 중 하나여야 합니다.
utc_offset

Duration

UTC 오프셋입니다. -18시간에서 +18시간 사이의 정수 초여야 합니다. 예를 들어 UTC 오프셋 -4:00은 {초: -14400}으로 표현됩니다.

time_zone

TimeZone

시간대입니다.

Expr

Common Expression Language(CEL) 문법으로 된 텍스트 표현식을 나타냅니다. CEL은 C와 같은 표현식 언어입니다. CEL의 문법과 시맨틱스는 https://github.com/google/cel-spec에 설명되어 있습니다.

예시(비교):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

예시(균등):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

예시(로직):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

예시(데이터 조작):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

표현식 내에서 참조할 수 있는 정확한 변수와 함수는 이를 계산하는 서비스에 의해 결정됩니다. 자세한 내용은 서비스 문서를 참조하세요.

필드
expression

string

Common Expression Language 구문으로 된 표현식의 텍스트 표현입니다.

title

string

선택사항. 표현식의 제목으로, 목적을 설명하는 짧은 문자열입니다. 표현식을 입력할 수 있는 UI 등에 사용할 수 있습니다.

description

string

선택사항. 표현식에 대한 설명입니다. 표현식을 설명하는 더 긴 텍스트입니다. 예를 들어 UI에서 마우스를 가져갈 때 표시할 수 있습니다.

location

string

선택사항입니다. 오류 보고를 위해 표현식의 위치를 나타내는 문자열입니다. 예를 들어 파일 이름 및 파일 내 위치일 수 있습니다.

TimeZone

IANA 시간대 데이터베이스에서 가져온 시간대를 나타냅니다.

필드
id

string

IANA 시간대 데이터베이스 시간대입니다. 예를 들면 "America/New_York"입니다.

version

string

선택사항. IANA 시간대 데이터베이스 버전 번호입니다. 예를 들면 "2019a"입니다.