DateTime

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 time_offset can be only one of the following:
  "utcOffset": string,
  "timeZone": {
    object (TimeZone)
  }
  // End of list of possible types for union field time_offset.
}
Alanlar
year

integer

İ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

integer

İ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

integer

İ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

integer

İ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

integer

İ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

integer

İ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

integer

İ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

string (Duration format)

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 "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

timeZone

object (TimeZone)

Saat dilimi.