يمثّل الوقت المدني (أو الوقت الفعلي في بعض الأحيان).
يمكن أن يمثّل هذا النوع وقتًا مدنيًا بإحدى الطرق التالية:
- عند ضبط utcOffset وعدم ضبط timeZone: وقت مدني في يوم تقويمي مع تمكين فرق زمني معيّن من التوقيت العالمي المنسق
- عند ضبط timeZone وعدم ضبط utcOffset: وقت مدني في يوم تقويمي في منطقة زمنية معيّنة
- في حال عدم ضبط timeZone أو utcOffset: وقت مدني في يوم تقويمي بالتوقيت المحلي
التاريخ نسبي إلى التقويم الغريغوري المعدل.
إذا كانت السنة أو الشهر أو اليوم تساوي 0، يُعتبر أنّ DateTime لا يتضمّن سنة أو شهرًا أو يومًا محدّدًا على التوالي.
يمكن أيضًا استخدام هذا النوع لتمثيل وقت فعلي في حال ضبط جميع حقول التاريخ والوقت وضبط أي حالة من حالات time_offset
oneof. ننصحك باستخدام رسالة Timestamp
للوقت الفعلي بدلاً من ذلك. إذا أردت أيضًا تخزين المنطقة الزمنية للمستخدم في حالة الاستخدام، يمكن إجراء ذلك في حقل آخر.
وهذا النوع أكثر مرونة مما قد تريده بعض التطبيقات. احرص على توثيق قيود تطبيقك والتحقّق منها.
تمثيل JSON |
---|
{ "year": integer, "month": integer, "day": integer, "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer, // Union field |
الحقول | |
---|---|
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 اختياريّ. تُستخدَم لتحديد إما التوقيت العالمي المنسّق أو المنطقة الزمنية لـ DateTime. عليك الاختيار بعناية بين الخيارَين، مع الأخذ في الاعتبار أنّ بيانات المنطقة الزمنية قد تتغيّر في المستقبل (على سبيل المثال، يغيّر بلد ما تواريخ بدء/انتهاء التوقيت الصيفي، وقد سبق تخزين تواريخ/أوقات مستقبلية في النطاق المتأثّر). في حال حذف هذه السمة، يتم اعتبار أنّ التاريخ والوقت بالتوقيت المحلي. يمكن أن يكون time_offset واحدًا فقط مما يلي: |
|
utc |
فارق الوقت عن التوقيت العالمي المنسَّق يجب أن تكون ثوانٍ كاملة، ويجب أن تتراوح بين -18 ساعة و18 ساعة. على سبيل المثال، يتم تمثيل التوقيت العالمي المنسَّق الذي يسبق التوقيت المحلي بـ 4:00 على النحو التالي: { seconds: -14400 }. المدة بالثواني مع ما يصل إلى تسعة أرقام كسور، وتنتهي بـ " |
time |
المنطقة الزمنية |