Package google.type

فهرست

تاریخ

نشان دهنده یک تاریخ تقویمی کامل یا جزئی، مانند تاریخ تولد است. زمان روز و منطقه زمانی یا در جای دیگری مشخص شده‌اند یا اهمیت چندانی ندارند. تاریخ نسبت به تقویم میلادی است. این می‌تواند یکی از موارد زیر را نشان دهد:

  • یک تاریخ کامل، با مقادیر سال، ماه و روز غیر صفر.
  • یک ماه و یک روز، با یک سال صفر (مثلاً یک سالگرد).
  • یک سال به تنهایی، با یک ماه صفر و یک روز صفر.
  • یک سال و یک ماه، با یک روز صفر (برای مثال، تاریخ انقضای کارت اعتباری).

انواع مرتبط:

فیلدها
year

int32

سال تاریخ. باید از ۱ تا ۹۹۹۹ باشد، یا برای مشخص کردن تاریخ بدون سال، ۰ باشد.

month

int32

ماه سال. باید از ۱ تا ۱۲ باشد، یا برای مشخص کردن سال بدون ماه و روز، ۰ باشد.

day

int32

روز ماه. باید از ۱ تا ۳۱ باشد و برای سال و ماه معتبر باشد، یا ۰ برای مشخص کردن یک سال به تنهایی یا یک سال و ماه که روز در آن مهم نیست.

تاریخ و زمان

نشان دهنده زمان مدنی (یا گاهی اوقات زمان فیزیکی) است.

این نوع می‌تواند زمان مدنی را به یکی از چند روش ممکن نشان دهد:

  • وقتی utc_offset تنظیم شده باشد و time_zone تنظیم نشده باشد: یک زمان مدنی در یک روز تقویمی با یک انحراف خاص از UTC.
  • وقتی time_zone تنظیم شده باشد و utc_offset تنظیم نشده باشد: یک زمان مدنی در یک روز تقویمی در یک منطقه زمانی خاص.
  • وقتی نه time_zone و نه utc_offset تنظیم نشده باشند: زمان رسمی در یک روز تقویمی به وقت محلی.

این تاریخ مربوط به تقویم میلادی پرولپتیک است.

اگر سال، ماه یا روز 0 باشند، DateTime به ترتیب فاقد سال، ماه یا روز مشخص در نظر گرفته می‌شود.

این نوع همچنین می‌تواند برای نمایش زمان فیزیکی استفاده شود اگر همه فیلدهای تاریخ و زمان تنظیم شده باشند و هر یک از حالت‌های time_offset یکی از آنها تنظیم شده باشد. به جای آن، استفاده از پیام Timestamp برای زمان فیزیکی در نظر بگیرید. اگر مورد استفاده شما همچنین می‌خواهد منطقه زمانی کاربر را ذخیره کند، این کار را می‌توان در فیلد دیگری انجام داد.

این نوع، انعطاف‌پذیرتر از آن چیزی است که برخی از برنامه‌ها ممکن است بخواهند. حتماً محدودیت‌های برنامه خود را مستندسازی و تأیید کنید.

فیلدها
year

int32

اختیاری. سال تاریخ. باید از ۱ تا ۹۹۹۹ باشد، یا در صورت مشخص کردن تاریخ و زمان بدون سال، ۰ باشد.

month

int32

اختیاری. ماه سال. باید از ۱ تا ۱۲ باشد، یا در صورت مشخص کردن تاریخ و زمان بدون ماه، ۰ باشد.

day

int32

اختیاری. روز ماه. باید از ۱ تا ۳۱ باشد و برای سال و ماه معتبر باشد، یا اگر تاریخ و زمان بدون روز مشخص می‌شود، ۰ باشد.

hours

int32

اختیاری. ساعات روز در قالب ۲۴ ساعته. باید از ۰ تا ۲۳ باشد، پیش‌فرض ۰ (نیمه‌شب). یک API ممکن است مقدار "۲۴:۰۰:۰۰" را برای سناریوهایی مانند زمان تعطیلی کسب‌وکار مجاز بداند.

minutes

int32

اختیاری. دقیقه یا ساعت یا روز. باید از ۰ تا ۵۹ باشد، پیش‌فرض ۰ است.

seconds

int32

اختیاری. ثانیه یا دقیقه. معمولاً باید از ۰ تا ۵۹ باشد، پیش‌فرض ۰ است. یک API در صورت امکان ثانیه کبیسه، می‌تواند مقدار ۶۰ را نیز مجاز بداند.

nanos

int32

اختیاری. کسری از ثانیه بر حسب نانوثانیه. باید از ۰ تا ۹۹۹,۹۹۹,۹۹۹ باشد، پیش‌فرض ۰ است.

فیلد یونیون time_offset . اختیاری. یا انحراف UTC یا منطقه زمانی DateTime را مشخص می‌کند. با توجه به اینکه داده‌های منطقه زمانی ممکن است در آینده تغییر کنند (برای مثال، یک کشور تاریخ شروع/پایان DST خود را تغییر می‌دهد و DateTimeهای آینده در محدوده تحت تأثیر قبلاً ذخیره شده‌اند)، بین آنها با دقت انتخاب کنید. در صورت حذف، DateTime به عنوان زمان محلی در نظر گرفته می‌شود. time_offset فقط می‌تواند یکی از موارد زیر باشد:
utc_offset

Duration

انحراف UTC. باید ثانیه‌های کامل، بین ۱۸- ساعت و ۱۸+ ساعت باشد. برای مثال، انحراف UTC از ۴-:۰۰ به صورت {seconds: -14400} نمایش داده می‌شود.

time_zone

TimeZone

منطقه زمانی.

فاصله

یک بازه زمانی را نشان می‌دهد که به صورت یک Timestamp شروع (شامل) و یک Timestamp پایان (منحصراً) کدگذاری شده است.

شروع باید کوچکتر یا مساوی پایان باشد. وقتی شروع با پایان برابر باشد، بازه خالی است (با هیچ زمانی مطابقت ندارد). وقتی هم شروع و هم پایان مشخص نشده باشند، بازه با هر زمانی مطابقت دارد.

فیلدها
start_time

Timestamp

اختیاری. شروع فراگیر بازه.

در صورت مشخص شدن، مهر زمانی که با این بازه مطابقت دارد باید یکسان یا بعد از شروع باشد.

end_time

Timestamp

اختیاری. پایان انحصاری بازه.

در صورت مشخص شدن، یک مهر زمانی (Timestamp) که با این بازه مطابقت دارد، باید قبل از پایان باشد.

لات‌لنگ

شیء‌ای که یک جفت عرض/طول جغرافیایی را نشان می‌دهد. این به صورت یک جفت دوتایی بیان می‌شود تا درجه عرض جغرافیایی و درجه طول جغرافیایی را نشان دهد. مگر اینکه خلاف آن مشخص شده باشد، این شیء باید با استاندارد WGS84 مطابقت داشته باشد. مقادیر باید در محدوده نرمال باشند.

فیلدها
latitude

double

عرض جغرافیایی بر حسب درجه. باید در محدوده [-90.0، +90.0] باشد.

longitude

double

طول جغرافیایی بر حسب درجه. باید در محدوده [-۱۸۰.۰، +۱۸۰.۰] باشد.

متن محلی‌شده

نسخه محلی‌شده‌ی یک متن در یک زبان خاص.

فیلدها
text

string

رشته محلی شده در زبانی که مربوط به language_code زیر است.

language_code

string

کد زبان BCP-47 متن، مانند "en-US" یا "sr-Latn".

برای اطلاعات بیشتر، به آدرس http://www.unicode.org/reports/tr35/#Unicode_locale_identifier مراجعه کنید.

منطقه زمانی

نشان دهنده یک منطقه زمانی از پایگاه داده منطقه زمانی IANA است.

فیلدها
id

string

پایگاه داده منطقه زمانی IANA، منطقه زمانی. برای مثال "America/New_York".

version

string

اختیاری. شماره نسخه پایگاه داده منطقه زمانی IANA. برای مثال "2019a".