Package google.type

الفهرس

DateTime

يمثّل الوقت المدني (أو الوقت الفعلي في بعض الأحيان).

يمكن أن يمثل هذا النوع وقتًا مدنيًا بإحدى الطرق القليلة المحتملة:

  • عند ضبط utc_offset وعدم ضبط time_zone: وقت مدني في يوم تقويمي مع معادلة معيّنة من التوقيت العالمي المنسق (UTC).
  • عند ضبط time_zone وعدم ضبط utc_offset: وقت مدني في يوم تقويمي في منطقة زمنية معيّنة.
  • في حال عدم ضبط time_zone أو utc_offset: وقت مدني في يوم تقويمي بالتوقيت المحلي

التاريخ نسبي إلى التقويم الغريغوري الپروليبتيكي.

إذا كانت السنة أو الشهر أو اليوم تساوي 0، يُعتبر أنّ DateTime لا يتضمّن سنة أو شهرًا أو يومًا محدّدًا على التوالي.

يمكن أيضًا استخدام هذا النوع لتمثيل وقت مادي إذا تم ضبط جميع حقول التاريخ والوقت وتم ضبط أي حالة من حالات time_offset oneof. ننصحك باستخدام رسالة Timestamp للوقت الفعلي بدلاً من ذلك. إذا أردت أيضًا تخزين المنطقة الزمنية للمستخدم في حالة الاستخدام، يمكن إجراء ذلك في حقل آخر.

وهذا النوع أكثر مرونةً مما قد تحتاجه بعض التطبيقات. احرص على توثيق القيود المفروضة على طلبك والتحقق من صحتها.

الحقول
year

int32

اختياريّ. سنة التاريخ. يجب أن يكون من 1 إلى 9999، أو 0 في حال تحديد وقت وتاريخ بدون سنة.

month

int32

اختياريّ. الشهر من السنة. يجب أن يكون من 1 إلى 12، أو 0 في حال تحديد وقت وتاريخ بدون شهر.

day

int32

اختياريّ. اليوم من الشهر. يجب أن يكون من 1 إلى 31 وصالحًا للسنة والشهر، أو 0 في حال تحديد تاريخ ووقت بدون يوم.

hours

int32

اختياريّ. ساعات اليوم بتنسيق 24 ساعة يجب أن تتراوح بين 0 و23، ويتم ضبطها تلقائيًا على 0 (منتصف الليل). قد تختار واجهة برمجة التطبيقات السماح بالقيمة "24:00:00" لسيناريوهات مثل وقت إغلاق النشاط التجاري.

minutes

int32

اختياريّ. دقائق الساعة من اليوم يجب أن تتراوح بين 0 و59، ويكون الإعداد التلقائي هو 0.

seconds

int32

اختياريّ. الثواني من الدقائق في الوقت يجب أن تتراوح القيمة عادةً بين 0 و59، ويتم ضبط القيمة التلقائية على 0. وقد تسمح واجهة برمجة التطبيقات بالقيمة 60 إذا كانت تسمح بالثواني الكبيسة.

nanos

int32

اختياريّ. أجزاء من الثانية بالنانوثواني يجب أن تتراوح القيمة بين 0 و999,999,999، ويتم ضبط القيمة التلقائية على 0.

حقل الربط time_offset اختياريّ. تحدّد إما معادلة التوقيت العالمي المنسق (UTC) أو المنطقة الزمنية للتاريخ والوقت. اختَر بعناية بين الخيارَين، مع الأخذ في الاعتبار أنّ بيانات المنطقة الزمنية قد تتغيّر في المستقبل (على سبيل المثال، يغيّر بلد ما تواريخ بدء/انتهاء التوقيت الصيفي، وقد سبق تخزين تواريخ/أوقات مستقبلية في النطاق المتأثّر). وإذا تم حذفها، يتم اعتبار التاريخ والوقت بالتوقيت المحلي. يمكن أن يكون time_offset واحدًا فقط مما يلي:
utc_offset

Duration

فارق الوقت عن التوقيت العالمي المنسّق يجب أن تكون الثواني كاملة، ويجب أن تتراوح بين -18 ساعة و18 ساعة. على سبيل المثال، يتم تمثيل التوقيت العالمي المنسَّق الذي يسبق التوقيت المحلي بـ 4:00 على النحو التالي: { seconds: -14400 }.

time_zone

TimeZone

المنطقة الزمنية

TimeOfDay

تمثل وقتًا من اليوم. التاريخ والمنطقة الزمنية غير مهمّين أو تم تحديدهما في مكان آخر. قد تختار واجهة برمجة التطبيقات السماح بالثواني الكبيسة. الأنواع ذات الصلة هي google.type.Date وgoogle.protobuf.Timestamp.

الحقول
hours

int32

ساعات اليوم بتنسيق 24 ساعة. يجب أن تكون أكبر من أو تساوي 0 وأن تكون عادةً أقل من أو تساوي 23. قد تختار واجهة برمجة التطبيقات السماح بالقيمة "24:00:00" لسيناريوهات مثل وقت إغلاق النشاط التجاري.

minutes

int32

دقائق الساعة يجب أن تكون القيمة أكبر من أو تساوي 0 وأصغر من أو تساوي 59.

seconds

int32

ثوانٍ من الدقيقة يجب أن تكون أكبر من أو تساوي 0 ويجب أن تكون عادةً أقل من أو تساوي 59. قد تسمح واجهة برمجة التطبيقات بالقيمة 60 إذا كانت تسمح بالثواني الكبيسة.

nanos

int32

أجزاء من الثانية، بالنانوسيكون يجب أن تكون أكبر من أو تساوي 0 وأقل من أو تساوي 999,999,999.

TimeZone

تمثل هذه السمة منطقة زمنية من قاعدة بيانات المنطقة الزمنية IANA.

الحقول
id

string

المنطقة الزمنية في قاعدة بيانات المناطق الزمنية IANA، مثل "America/New_York"

version

string

اختياريّ. رقم إصدار قاعدة بيانات المناطق الزمنية IANA، مثل "2019a"