Package google.type

Chỉ mục

DateTime

Thể hiện thời gian dân sự (hoặc đôi khi là thời gian thực).

Loại này có thể đại diện cho thời gian dân sự theo một trong một số cách có thể có:

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

Ngày này có liên quan đến Dương lịch Proleptic.

Nếu năm, tháng hoặc ngày bằng 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ị giờ thực tế nếu bạn đã đặt tất cả các trường ngày và giờ cũng như đã đặt một trong hai trường hợp của time_offset. 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.

Kiểu này linh hoạt hơn so với mong muốn của một số ứng dụng. Hãy nhớ ghi lại và xác thực các giới hạn của đơn đăng ký.

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 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 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ị cho năm và tháng hoặc bằng 0 nếu chỉ định ngày giờ mà không có ngày.

hours

int32

Không bắt buộc. Giờ trong ngày ở định dạng 24 giờ. Nên là 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 tình huống như thời gian đóng cửa doanh nghiệp.

minutes

int32

Không bắt buộc. Phút trong giờ trong ngày. Giá trị phải nằm trong khoảng từ 0 đến 59, giá trị 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 thường phải từ 0 đến 59, mặc định là 0. 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ố giây tính bằng nano giây. Giá trị phải nằm trong khoảng từ 0 đến 999.999.999, giá trị mặc định là 0.

Trường hợp time_offset. Không bắt buộc. Chỉ định số giờ chênh lệch so với giờ UTC hoặc múi giờ của giá trị DateTime. Hãy chọn kỹ lưỡng, cân nhắc đến việc 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à ngày giờ trong tương lai trong phạm vi bị ảnh hưởng đã được lưu trữ). Nếu bạn bỏ qua, DateTime sẽ được coi là giờ địa phương. time_offset chỉ có thể là một trong những trạng thái sau:
utc_offset

Duration

Chênh lệch múi giờ UTC. Phải là toàn bộ giây, từ -18 giờ đến hơn 18 giờ. Ví dụ: độ lệch giờ UTC là -4:00 sẽ được biểu thị dưới dạng { giây: -14400 }.

time_zone

TimeZone

Múi giờ.

TimeOfDay

Đại diện cho thời gian trong ngày. Ngày và múi giờ không quan trọng hoặc được chỉ định ở nơi khác. API có thể chọn cho phép giây nhuận. Các loại liên quan là google.type.Dategoogle.protobuf.Timestamp.

Trường
hours

int32

Giờ trong ngày ở định dạng 24 giờ. Nên nằm trong khoảng từ 0 đến 23. API có thể chọn cho phép giá trị "24:00:00" cho các tình huống như thời gian đóng cửa doanh nghiệp.

minutes

int32

Phút trong giờ trong ngày. Giá trị phải nằm trong khoảng từ 0 đến 59.

seconds

int32

Số giây trong phút của thời gian. Thông thường phải từ 0 đến 59. API có thể cho phép giá trị 60 nếu cho phép giây nhuận.

nanos

int32

Phân số giây tính bằng nano giây. Giá trị phải nằm trong khoảng từ 0 đến 999.999.999.

TimeZone

Đại diện cho múi giờ từ Cơ sở dữ liệu múi giờ IANA.

Trường
id

string

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

version

string

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