فهرست مطالب
زمان قرار
نشان دهنده زمان مدنی (یا گاهی اوقات زمان فیزیکی) است.
این نوع می تواند یک زمان مدنی را به یکی از چند روش ممکن نشان دهد:
- وقتی utc_offset تنظیم شده است و زمان_منطقه تنظیم نشده است: یک زمان مدنی در یک روز تقویمی با یک افست خاص از UTC.
- هنگامی که time_zone تنظیم شده است و utc_offset تنظیم نشده است: یک زمان مدنی در یک روز تقویمی در یک منطقه زمانی خاص.
- وقتی نه time_zone و نه utc_offset تنظیم نشده است: یک زمان مدنی در یک روز تقویم به وقت محلی.
تاریخ نسبت به تقویم گرگوری پرولپتیک است.
اگر سال، ماه یا روز 0 باشد، DateTime به ترتیب سال، ماه یا روز خاصی ندارد.
اگر تمام فیلدهای تاریخ و زمان تنظیم شده باشند و هر کدام از موارد time_offset
یکی از آنها تنظیم شده باشد، ممکن است برای نمایش زمان فیزیکی نیز استفاده شود. به جای آن از پیام Timestamp
برای زمان فیزیکی استفاده کنید. اگر مورد استفاده شما همچنین میخواهد منطقه زمانی کاربر را ذخیره کند، میتوانید در فیلد دیگری این کار را انجام دهید.
این نوع نسبت به برخی از برنامه ها انعطاف پذیرتر است. اطمینان حاصل کنید که محدودیت های برنامه خود را مستند و تأیید کنید.
زمینه های | |
---|---|
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 به وقت محلی در نظر گرفته می شود. time_offset تنها می تواند یکی از موارد زیر باشد: | |
utc_offset | افست UTC. باید ثانیه های کامل، بین -18 ساعت و +18 ساعت باشد. به عنوان مثال، یک افست UTC از -4:00 به صورت { ثانیه: -14400 } نشان داده می شود. |
time_zone | منطقه زمانی. |
TimeOfDay
یک زمان از روز را نشان می دهد. تاریخ و منطقه زمانی یا مهم نیستند یا در جای دیگری مشخص شده اند. یک API ممکن است اجازه دهد ثانیه های کبیسه را مجاز کند. انواع مرتبط عبارتند از google.type.Date
و google.protobuf.Timestamp
.
زمینه های | |
---|---|
hours | ساعات روز در قالب 24 ساعته. باید از 0 تا 23 باشد. یک API ممکن است برای سناریوهایی مانند زمان بسته شدن کسب و کار، مقدار "24:00:00" را مجاز کند. |
minutes | دقیقه از ساعت روز. باید از 0 تا 59 باشد. |
seconds | ثانیه های دقیقه از زمان. معمولاً باید از 0 تا 59 باشد. یک API ممکن است مقدار 60 را مجاز کند اگر ثانیه های کبیسه را مجاز کند. |
nanos | کسری از ثانیه در نانوثانیه. باید از 0 تا 999,999,999 باشد. |
منطقه زمانی
یک منطقه زمانی را از پایگاه داده منطقه زمانی IANA نشان می دهد.
زمینه های | |
---|---|
id | منطقه زمانی پایگاه داده منطقه زمانی IANA، به عنوان مثال "America/New_York". |
version | اختیاری. شماره نسخه پایگاه داده منطقه زمانی IANA، به عنوان مثال "2019a". |