Günlük zamanı (veya bazen fiziksel zamanı) temsil eder.
Bu tür, birkaç olası yoldan biriyle medeni bir zamanı temsil edebilir:
- utcOffset ayarlandığında ve saat dilimi ayarlanmadan bırakıldığında: UTC ile belirli bir uzaklığa sahip bir takvim gününde yerel saat.
- Saat dilimi ayarlandığında ve utcOffset ayarlanmadan bırakıldığında: belirli bir saat diliminde bir takvim gününde yerel saat.
- Saat dilimi veya utcOffset ayarlanmamışsa: yerel saatte bir takvim gününde medeni saat.
Bu tarih, Proleptik Miladi Takvimi ile görelidir.
Yıl, ay veya gün 0 ise DateTime'da 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
seçeneklerinden biri ayarlanmışsa fiziksel bir saati temsil etmek için de kullanılabilir. Bunun yerine fiziksel zaman için Timestamp
mesajı kullanmayı düşünebilirsiniz. Kullanım alanınız aynı zamanda kullanıcının saat dilimini de kaydetmek istiyorsanız bu işlem başka bir alanda yapılabilir.
Bu tür, bazı uygulamaların isteyebileceğinden daha esnektir. Başvurunuza ilişkin sınırlamaları belgeleyip 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ı. Tarihin yılı. 1 ile 9999 arasında veya yıl içermeyen bir tarih/saat belirtiyorsa 0 olmalıdır. |
month |
İsteğe bağlı. Yılın ayı. 1 ile 12 arasında veya ay olmadan bir tarih ve saat belirtiyorsa 0 olmalıdır. |
day |
İsteğe bağlı. Ayın günü. 1 ile 31 arasında bir değer olmalıdır ve yıl ve ay için geçerli olmalıdır. Gün içermeyen bir tarih/saat belirtiyorsa 0 değerini alır. |
hours |
İsteğe bağlı. 24 saat biçiminde günün saatleri. 0 ile 23 arasında olmalıdır ve varsayılan olarak 0'a (gece yarısı) ayarlanır. API'ler, işletmenin kapanış saati gibi senaryolar için "24:00:00" değerine izin vermeyi tercih edebilir. |
minutes |
İsteğe bağlı. Günün saati dakika cinsinden ifade edilir. 0 ile 59 arasında olmalıdır ve varsayılan olarak 0 değerine ayarlanır. |
seconds |
İsteğe bağlı. Dakika cinsinden saniye sayısı. Normalde 0 ile 59 arasında olmalıdır ve varsayılan olarak 0'a ayarlanır. API'ler artık saniyelere izin veriyorsa 60 değerine izin verebilir. |
nanos |
İsteğe bağlı. Saniyenin nanosaniye cinsinden kesirleri. 0 ile 999.999.999 arasında olmalıdır, varsayılan olarak 0'a ayarlanır. |
Birleştirme alanı time_offset . İsteğe bağlı. UTC farkını veya DateTime saat dilimini belirtir. Saat dilimi verilerinin gelecekte değişebileceğini göz önünde bulundurarak (örneğin, bir ülke YS başlangıç/bitiş tarihlerini değiştiriyor ve etkilenen aralıktaki gelecekteki DateTime'lar zaten depolanmıştı) aralarında dikkatli seçim yapın. Atlanırsa, DateTime, yerel saatte kabul edilir. time_offset şunlardan yalnızca biri olabilir: |
|
utcOffset |
UTC farkı. -18 saat ile +18 saat arasında tam saniye olmalıdır. Örneğin, UTC saat farkı -4:00 olarak { seconds: -14400 } şeklinde gösterilir. " |
timeZone |
Saat dilimi. |
TimeZone
IANA Saat Dilimi Veritabanı'ndaki bir saat dilimini temsil eder.
JSON gösterimi |
---|
{ "id": string, "version": string } |
Alanlar | |
---|---|
id |
IANA Saat Dilimi Veritabanı saat dilimi, ör. "America/New_York". |
version |
İsteğe bağlı. IANA Saat Dilimi Veritabanı sürüm numarası, ör. "2019a". |