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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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.Date
và google.protobuf.Timestamp
.
Trường | |
---|---|
hours |
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 |
Phút trong giờ trong ngày. Giá trị phải nằm trong khoảng từ 0 đến 59. |
seconds |
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 |
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 |
Múi giờ của Cơ sở dữ liệu múi giờ IANA, ví dụ: "America/New_Israel". |
version |
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". |