Günlük zamanı (veya bazen fiziksel zamanı) temsil eder.
Bu tür, olası birkaç şekilde sivil zamanı temsil edebilir:
- utcOffset ayarlanmış ve timeZone ayarlanmamışsa: Takvim gününde UTC'den belirli bir farka sahip yerel saat.
- timeZone ayarlanmış ve utcOffset ayarlanmamışsa: Belirli bir saat dilimindeki bir takvim gününde yerel saat.
- timeZone veya utcOffset ayarlanmadığında: yerel saatle takvim günündeki sivil saat.
Tarih, Proleptik Gregoryen Takvimi'ne göre belirlenir.
Yıl, ay veya gün 0 ise DateTime'ın sırasıyla belirli bir yılı, ayı veya günü olmadığı kabul edilir.
Bu tür, tüm tarih ve saat alanları ayarlanmışsa ve time_offset oneof'un her iki durumu da ayarlanmışsa fiziksel bir zamanı temsil etmek için de kullanılabilir. Bunun yerine fiziksel zaman için Timestamp mesajını kullanabilirsiniz. Kullanım alanınızda kullanıcının saat diliminin de depolanması isteniyorsa bu işlem başka bir alanda yapılabilir.
Bu tür, bazı uygulamaların isteyebileceğinden daha esnektir. Uygulamanızın sınırlamalarını belgelediğinizden ve doğruladığınızdan emin olun.
| JSON gösterimi |
|---|
{ "year": integer, "month": integer, "day": integer, "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer, // Union field |
| Alanlar | |
|---|---|
year |
İsteğe bağlıdır. Tarihin yılı. 1 ile 9999 arasında olmalıdır. Yıl içermeyen bir tarih ve saat belirtiliyorsa 0 olmalıdır. |
month |
İsteğe bağlıdır. Yılın ayı. 1 ile 12 arasında olmalıdır. Ay içermeyen bir tarih/saat belirtiliyorsa 0 olmalıdır. |
day |
İsteğe bağlıdır. Ayın günü. 1 ile 31 arasında olmalı ve yıl ile ay için geçerli olmalıdır. Gün içermeyen bir tarih/saat belirtiliyorsa 0 olmalıdır. |
hours |
İsteğe bağlıdır. Günün saatleri (24 saatlik biçimde). 0 ile 23 arasında olmalıdır. Varsayılan değer 0'dır (gece yarısı). Bir API, işletmenin kapanış saati gibi senaryolarda "24:00:00" değerine izin vermeyi seçebilir. |
minutes |
İsteğe bağlıdır. Günün saatindeki dakikalar. 0 ile 59 arasında olmalıdır, varsayılan değer 0'dır. |
seconds |
İsteğe bağlıdır. Dakikaların saniyeleri. Normalde 0 ile 59 arasında olmalıdır, varsayılan olarak 0'dır. Bir API, artık saniyelere izin veriyorsa 60 değerine izin verebilir. |
nanos |
İsteğe bağlıdır. Saniyenin kesirleri nanosaniye cinsinden. 0 ile 999.999.999 arasında olmalıdır. Varsayılan değer 0'dır. |
time_offset birleşik alanı. İsteğe bağlıdır. DateTime'ın UTC farkını veya saat dilimini belirtir. Saat dilimi verilerinin gelecekte değişebileceğini (örneğin, bir ülke yaz saati başlangıç/bitiş tarihlerini değiştirir ve etkilenen aralıktaki gelecekteki DateTime'lar zaten depolanmıştır) göz önünde bulundurarak bunlar arasında dikkatli bir seçim yapın. Belirtilmezse DateTime'ın yerel saatte olduğu kabul edilir. time_offset aşağıdakilerden yalnızca biri olabilir: |
|
utcOffset |
UTC farkı. -18 saat ile +18 saat arasında tam saniye olmalıdır. Örneğin, -4:00 UTC farkı { seconds: -14400 } olarak gösterilir. En fazla dokuz kesirli basamak içeren ve " |
timeZone |
Saat dilimi. |