Package google.type

Chỉ mục

Ngày

Đại diện cho toàn bộ hoặc một phần ngày theo lịch, chẳng hạn như ngày sinh nhật. Thời gian trong ngày và múi giờ được chỉ định ở nơi khác hoặc không quan trọng. Ngày này có liên quan đến Dương lịch. Nội dung này có thể đại diện cho một trong những nội dung sau:

  • Một ngày đầy đủ, với các giá trị năm, tháng và ngày khác 0.
  • Tháng và ngày, với giá trị năm bằng 0 (ví dụ: ngày kỷ niệm).
  • Chỉ riêng giá trị năm, với giá trị tháng và ngày bằng 0.
  • Năm và tháng, với giá trị ngày bằng 0 (ví dụ: ngày hết hạn thẻ tín dụng).

Các loại có liên quan:

Trường
year

int32

Năm của ngày. Giá trị phải từ 1 đến 9999 hoặc bằng 0 để chỉ định ngày không có năm.

month

int32

Tháng trong năm. Giá trị phải từ 1 đến 12 hoặc từ 0 để chỉ định một năm không có tháng và ngày.

day

int32

Ngày trong tháng. Giá trị phải từ 1 đến 31 và có giá trị trong năm và tháng, hoặc bằng 0 để chỉ định một năm hoặc một năm và tháng, trong đó ngày là không quan trọng.

DateTime

Biểu thị thời gian dân sự (hoặc đôi khi là thời gian thực).

Loại này có thể biểu thị thời gian dân sự theo một trong số ít cách có thể:

  • Khi utc_offset được đặt và time_zone chưa được đặt: thời gian dân sự trong một ngày dương lịch có độ lệch cụ thể so với giờ UTC.
  • Khi time_zone được đặt và utc_offset chưa được đặt: thời gian dân sự vào một ngày dương lịch trong một múi giờ cụ thể.
  • Khi bạn không đặt time_zone và utc_offset: thời gian thực trong một ngày dương lịch theo giờ địa phương.

Ngày này có liên quan đến Lịch Gregorian Proleptic.

Nếu năm, tháng hoặc ngày là 0, thì DateTime được coi là không có năm, tháng hoặc ngày cụ thể tương ứng.

Loại này cũng có thể được dùng để biểu thị thời gian thực nếu bạn đặt tất cả các trường ngày và giờ, đồng thời đặt một trong hai trường hợp của time_offset oneof. Thay vào đó, hãy cân nhắc sử dụng thông báo Timestamp cho thời gian thực. Nếu trường hợp sử dụng của bạn cũng muốn lưu trữ múi giờ của người dùng, thì bạn có thể thực hiện việc này trong một trường khác.

Loại này linh hoạt hơn so với một số ứng dụng có thể muốn. Hãy nhớ ghi lại và xác thực các hạn chế của ứng dụng.

Trường
year

int32

Không bắt buộc. Năm của ngày. Giá trị phải từ 1 đến 9999 hoặc bằng 0 nếu chỉ định ngày giờ không có năm.

month

int32

Không bắt buộc. Tháng trong năm. Giá trị phải từ 1 đến 12 hoặc bằng 0 nếu chỉ định ngày giờ không có tháng.

day

int32

Không bắt buộc. Ngày trong tháng. Giá trị phải từ 1 đến 31 và có giá trị trong năm và tháng, hoặc bằng 0 nếu chỉ định một ngày giờ không có ngày.

hours

int32

Không bắt buộc. Giờ trong ngày theo định dạng 24 giờ. Giá trị phải nằm trong khoảng từ 0 đến 23, mặc định là 0 (nửa đêm). API có thể chọn cho phép giá trị "24:00:00" cho các trường hợp như giờ đóng cửa của doanh nghiệp.

minutes

int32

Không bắt buộc. Số phút trong giờ của ngày. Phải từ 0 đến 59, mặc định là 0.

seconds

int32

Không bắt buộc. Số giây trong phút của thời gian. Thường phải nằm trong khoảng từ 0 đến 59, mặc định là 0. Một API có thể cho phép giá trị 60 nếu cho phép giây nhuận.

nanos

int32

Không bắt buộc. Phân số của giây tính bằng nano giây. Giá trị phải từ 0 đến 999.999.999, mặc định là 0.

Trường nhóm time_offset. Không bắt buộc. Chỉ định độ lệch UTC hoặc múi giờ của DateTime. Hãy cân nhắc kỹ lưỡng khi chọn giữa hai lựa chọn này, vì dữ liệu múi giờ có thể thay đổi trong tương lai (ví dụ: một quốc gia sửa đổi ngày bắt đầu/kết thúc DST và các DateTime trong tương lai trong phạm vi bị ảnh hưởng đã được lưu trữ). Nếu bạn bỏ qua thuộc tính này, DateTime sẽ được coi là theo giờ địa phương. time_offset chỉ có thể là một trong những trạng thái sau:
utc_offset

Duration

Độ lệch UTC. Phải là số nguyên giây, nằm trong khoảng từ -18 giờ đến +18 giờ. Ví dụ: độ lệch UTC là -4:00 sẽ được biểu thị là { seconds: -14400 }.

time_zone

TimeZone

Múi giờ.

Khoảng thời gian

Biểu thị một khoảng thời gian, được mã hoá dưới dạng thời gian bắt đầu (bao gồm) của một Dấu thời gian và thời gian kết thúc (không bao gồm) của Dấu thời gian.

Giá trị bắt đầu phải nhỏ hơn hoặc bằng giá trị kết thúc. Khi thời gian bắt đầu bằng thời gian kết thúc, khoảng thời gian sẽ trống (không khớp với thời gian nào). Khi cả thời gian bắt đầu và kết thúc đều không được chỉ định, khoảng thời gian sẽ khớp với mọi thời điểm.

Trường
start_time

Timestamp

Không bắt buộc. Điểm bắt đầu của khoảng thời gian (bao gồm cả điểm này).

Nếu được chỉ định, Dấu thời gian khớp với khoảng thời gian này phải có cùng hoặc sau thời gian bắt đầu.

end_time

Timestamp

Không bắt buộc. Điểm kết thúc của khoảng thời gian (không bao gồm).

Nếu được chỉ định, Dấu thời gian khớp với khoảng thời gian này sẽ phải nằm trước thời gian kết thúc.

LatLng

Một đối tượng đại diện cho cặp vĩ độ/kinh độ. Thông tin này được biểu thị dưới dạng một cặp số thực có độ chính xác kép để biểu thị vĩ độ và kinh độ theo độ. Trừ phi có quy định khác, đối tượng này phải tuân thủ tiêu chuẩn WGS84. Giá trị phải nằm trong phạm vi được chuẩn hoá.

Trường
latitude

double

Vĩ độ tính bằng độ. Giá trị này phải nằm trong khoảng [-90.0, +90.0].

longitude

double

Kinh độ tính bằng độ. Giá trị này phải nằm trong khoảng [-180.0, +180.0].

LocalizedText

Biến thể được bản địa hoá của một văn bản bằng một ngôn ngữ cụ thể.

Trường
text

string

Chuỗi đã bản địa hoá bằng ngôn ngữ tương ứng với language_code bên dưới.

language_code

string

Mã ngôn ngữ BCP-47 của văn bản, chẳng hạn như "en-US" hoặc "sr-Latn".

Để biết thêm thông tin, hãy xem http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

TimeZone

Biểu thị một múi giờ trong Cơ sở dữ liệu múi giờ của IANA.

Trường
id

string

Múi giờ trong Cơ sở dữ liệu múi giờ của IANA. Ví dụ: "America/New_York".

version

string

Không bắt buộc. Số phiên bản Cơ sở dữ liệu múi giờ IANA. Ví dụ: "2019a".