DateTime

Günlük zamanı (veya bazen fiziksel zamanı) ifade 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 saatte 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ıla, aya veya güne sahip 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 dakika sayısı. 0 ile 59 arasında olmalıdır, varsayılan olarak 0'dır.

seconds

integer

İsteğe bağlıdır. Zamanın dakika cinsinden saniyesi. 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.

Birleştirme alanı time_offset. İsteğe bağlıdır. DateTime'ın UTC farkını veya saat dilimini belirtir. Saat dilimi verilerinin gelecekte değişebileceğini (ör. 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 dikkatli bir şekilde seçim yapın. Belirtilmezse DateTime'ın yerel saatte olduğu kabul edilir. time_offset yalnızca aşağıdakilerden 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.

TimeZone

IANA Saat Dilimi Veritabanı'ndaki bir saat dilimini temsil eder.

JSON gösterimi
{
  "id": string,
  "version": string
}
Alanlar
id

string

IANA saat dilimi veritabanı saat dilimi. Örneğin, "America/New_York".

version

string

İsteğe bağlıdır. IANA saat dilimi veritabanı sürüm numarası. Örneğin, "2019a".