الفهرس
DateTime
يمثّل الوقت المدني (أو الوقت الفعلي في بعض الأحيان).
يمكن أن يمثل هذا النوع وقتًا مدنيًا بإحدى الطرق القليلة المحتملة:
- عند ضبط utc_offset وعدم ضبط time_zone: وقت مدني في يوم تقويمي مع معادلة معيّنة من التوقيت العالمي المنسق (UTC).
- عند ضبط time_zone وعدم ضبط utc_offset: وقت مدني في يوم تقويمي في منطقة زمنية معيّنة.
- في حال عدم ضبط time_zone أو utc_offset: وقت مدني في يوم تقويمي بالتوقيت المحلي
التاريخ نسبي إلى التقويم الغريغوري الپروليبتيكي.
إذا كانت السنة أو الشهر أو اليوم تساوي 0، يُعتبر أنّ DateTime لا يتضمّن سنة أو شهرًا أو يومًا محدّدًا على التوالي.
يمكن أيضًا استخدام هذا النوع لتمثيل وقت مادي إذا تم ضبط جميع حقول التاريخ والوقت وتم ضبط أي حالة من حالات time_offset
oneof. ننصحك باستخدام رسالة Timestamp
للوقت الفعلي بدلاً من ذلك. إذا أردت أيضًا تخزين المنطقة الزمنية للمستخدم في حالة الاستخدام، يمكن إجراء ذلك في حقل آخر.
وهذا النوع أكثر مرونةً مما قد تحتاجه بعض التطبيقات. احرص على توثيق القيود المفروضة على طلبك والتحقق من صحتها.
الحقول | |
---|---|
year |
اختياريّ. سنة التاريخ. يجب أن يكون من 1 إلى 9999، أو 0 في حال تحديد وقت وتاريخ بدون سنة. |
month |
اختياريّ. الشهر من السنة. يجب أن يكون من 1 إلى 12، أو 0 في حال تحديد وقت وتاريخ بدون شهر. |
day |
اختياريّ. اليوم من الشهر. يجب أن يكون من 1 إلى 31 وصالحًا للسنة والشهر، أو 0 في حال تحديد تاريخ ووقت بدون يوم. |
hours |
اختياريّ. ساعات اليوم بتنسيق 24 ساعة يجب أن تتراوح بين 0 و23، ويتم ضبطها تلقائيًا على 0 (منتصف الليل). قد تختار واجهة برمجة التطبيقات السماح بالقيمة "24:00:00" لسيناريوهات مثل وقت إغلاق النشاط التجاري. |
minutes |
اختياريّ. دقائق الساعة من اليوم يجب أن تتراوح بين 0 و59، ويكون الإعداد التلقائي هو 0. |
seconds |
اختياريّ. الثواني من الدقائق في الوقت يجب أن تتراوح القيمة عادةً بين 0 و59، ويتم ضبط القيمة التلقائية على 0. وقد تسمح واجهة برمجة التطبيقات بالقيمة 60 إذا كانت تسمح بالثواني الكبيسة. |
nanos |
اختياريّ. أجزاء من الثانية بالنانوثواني يجب أن تتراوح القيمة بين 0 و999,999,999، ويتم ضبط القيمة التلقائية على 0. |
حقل الربط time_offset اختياريّ. تحدّد إما معادلة التوقيت العالمي المنسق (UTC) أو المنطقة الزمنية للتاريخ والوقت. اختَر بعناية بين الخيارَين، مع الأخذ في الاعتبار أنّ بيانات المنطقة الزمنية قد تتغيّر في المستقبل (على سبيل المثال، يغيّر بلد ما تواريخ بدء/انتهاء التوقيت الصيفي، وقد سبق تخزين تواريخ/أوقات مستقبلية في النطاق المتأثّر). وإذا تم حذفها، يتم اعتبار التاريخ والوقت بالتوقيت المحلي. يمكن أن يكون time_offset واحدًا فقط مما يلي: |
|
utc_ |
فارق الوقت عن التوقيت العالمي المنسّق يجب أن تكون الثواني كاملة، ويجب أن تتراوح بين -18 ساعة و18 ساعة. على سبيل المثال، يتم تمثيل التوقيت العالمي المنسَّق الذي يسبق التوقيت المحلي بـ 4:00 على النحو التالي: { seconds: -14400 }. |
time_ |
المنطقة الزمنية |
TimeOfDay
تمثل وقتًا من اليوم. التاريخ والمنطقة الزمنية غير مهمّين أو تم تحديدهما في مكان آخر. قد تختار واجهة برمجة التطبيقات السماح بالثواني الكبيسة. الأنواع ذات الصلة هي google.type.Date
وgoogle.protobuf.Timestamp
.
الحقول | |
---|---|
hours |
ساعات اليوم بتنسيق 24 ساعة. يجب أن تكون أكبر من أو تساوي 0 وأن تكون عادةً أقل من أو تساوي 23. قد تختار واجهة برمجة التطبيقات السماح بالقيمة "24:00:00" لسيناريوهات مثل وقت إغلاق النشاط التجاري. |
minutes |
دقائق الساعة يجب أن تكون القيمة أكبر من أو تساوي 0 وأصغر من أو تساوي 59. |
seconds |
ثوانٍ من الدقيقة يجب أن تكون أكبر من أو تساوي 0 ويجب أن تكون عادةً أقل من أو تساوي 59. قد تسمح واجهة برمجة التطبيقات بالقيمة 60 إذا كانت تسمح بالثواني الكبيسة. |
nanos |
أجزاء من الثانية، بالنانوسيكون يجب أن تكون أكبر من أو تساوي 0 وأقل من أو تساوي 999,999,999. |
TimeZone
تمثل هذه السمة منطقة زمنية من قاعدة بيانات المنطقة الزمنية IANA.
الحقول | |
---|---|
id |
المنطقة الزمنية في قاعدة بيانات المناطق الزمنية IANA، مثل "America/New_York" |
version |
اختياريّ. رقم إصدار قاعدة بيانات المناطق الزمنية IANA، مثل "2019a" |