DateTime

Resmi saati (veya bazen fiziksel saati) temsil eder.

Bu tür, sivil zamanı birkaç olası yöntemden biriyle temsil edebilir:

  • utcOffset ayarlandığında ve timeZone ayarlanmadığında: UTC'den belirli bir saat farkı olan bir takvim günündeki sivil saat.
  • timeZone ayarlandığında ve utcOffset ayarlanmadığında: Belirli bir saat diliminde bir takvim günündeki sivil saat.
  • timeZone veya utcOffset ayarlanmadığında: Yerel saatle bir takvim günündeki sivil saat.

Tarih, Proleptic Gregoryen Takvimi'ne göredir.

Yıl, ay veya gün 0 ise DateTime'in sırasıyla belirli bir yıl, ay veya güne sahip olmadığı kabul edilir.

Tüm tarih ve saat alanları ayarlanmışsa ve time_offset oneof özelliğinin herhangi bir durumu ayarlanmışsa bu tür, 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 dilimini de depolamak istiyorsanız bu işlem başka bir alanda yapılabilir.

Bu tür, bazı uygulamaların istediğ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ı. Tarihin yılı. 1 ile 9999 arasında veya yıl olmadan bir tarih/saat belirtiliyorsa 0 olmalıdır.

month

integer

İsteğe bağlı. Yılın ayı. 1 ile 12 arasında veya ay belirtilmeden bir tarih/saat belirtiliyorsa 0 arasında olmalıdır.

day

integer

İsteğe bağlı. Ayın günü. 1 ile 31 arasında olmalı ve yıl ve ay için geçerli olmalı ya da gün içermeyen bir tarih/saat belirtiliyorsa 0 olmalıdır.

hours

integer

İsteğe bağlı. Günün saati, 24 saatlik biçimde. 0 ile 23 arasında olmalıdır. Varsayılan olarak 0 (gece yarısı) değerini alır. Bir API, işletmenin kapanma zamanı gibi senaryolar için "24:00:00" değerine izin vermeyi seçebilir.

minutes

integer

İsteğe bağlı. Günün saati (dakika cinsinden). 0 ile 59 arasında olmalıdır. Varsayılan olarak 0 değerine ayarlanır.

seconds

integer

İsteğe bağlı. Zamandaki dakikaların saniyeleri. Normalde 0 ile 59 arasında olmalıdır. Varsayılan olarak 0 değerine ayarlanır. Bir API, saniye atlamalarına izin veriyorsa 60 değerine izin verebilir.

nanos

integer

İsteğe bağlı. Nanosaniye cinsinden saniye kesirlerini belirtir. 0 ile 999.999.999 arasında olmalıdır. Varsayılan olarak 0 değerine ayarlanır.

Birlik alanı time_offset. İsteğe bağlı. DateTime öğesinin UTC farkını veya saat dilimini belirtir. Saat dilimi verilerinin gelecekte değişebileceğini göz önünde bulundurarak bu seçenekler arasından dikkatli bir şekilde seçim yapın (örneğin, bir ülke yaz saati başlangıç/bitiş tarihlerini değiştirir ve etkilenen aralıktaki gelecekteki DateTime değerleri zaten depolanmışsa). Atlanırsa DateTime değerinin yerel saatte olduğu varsayılır. 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 ofseti { 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.