DateTime

Sivil zamanı (veya bazen fiziksel saati) temsil eder.

Bu tür bir hukuki zaman, birkaç olası yöntemden biriyle temsil edilebilir:

  • utcOffset ayarlandığında ve saat dilimi ayarlandığında: Bir takvim gününde UTC ile belirli bir ofset içeren medeni bir zaman.
  • Saat dilimi ayarlandığında ve utcOffset ayarlanmadığında: Belirli bir saat diliminde bir takvim günündeki resmi bir saat.
  • Saat dilimi veya utcOffset ayarlanmadığında: Yerel gündeki bir takvim gününde medeni zaman.

Tarih, Proreptic Gregoryen Takvim'e göre değişir.

Yıl, ay veya gün 0 ise, DateTime'ın sırasıyla belirli bir yıl, ay veya gün içermediği kabul edilir.

Bu tarih, tüm tarih ve saat alanları ayarlanmışsa ve time_offset tarihlerden biri ayarlanmışsa yalnızca fiziksel bir zamanı temsil etmek için kullanılabilir. Bunun yerine fiziksel saat için Timestamp mesajını kullanabilirsiniz. Kullanım alanınız kullanıcının saat dilimini de depolamak istiyorsa 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ı 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 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 bir tarih olmadan yıl değeri belirtiliyorsa 0 olmalıdır.

month

integer

İsteğe bağlı. Yılın ayı. 1 ile 12 arasında (veya bir tarih ve ay olmadan 0 belirtiyorsanız) olmalıdır.

day

integer

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

hours

integer

İsteğe bağlı. 24 saat biçiminde günün saatleri. 0 ile 23 arasında olmalıdır. Varsayılan olarak 0'dır (gece yarısı). Bir API, işletmenizin kapanma zamanı gibi senaryolarda "24:00:00" değerine izin vermeyi seçebilir.

minutes

integer

İsteğe bağlı. Günün saati dakikaları. 0 ile 59 arasında olmalıdır. Varsayılan olarak 0'dır.

seconds

integer

İsteğe bağlı. Saniyenin saniyesi. Normalde 0 ile 59 arasında olmalıdır. Varsayılan olarak 0 olur. Bir API, artık saniyelere izin veriyorsa 60 değerine izin verebilir.

nanos

integer

İsteğe bağlı. Nanosaniye cinsinden saniye kesirleri. 0 ile 999.999.999 arasında olmalıdır. Varsayılan değer 0'dır.

Birlik alanı time_offset. İsteğe bağlı. UTC farkını veya TarihSaat'in saat dilimini belirtir. Saat dilimi verilerinin gelecekte değişebileceğini göz önünde bulundurarak bu tarihler arasında dikkatli bir şekilde seçim yapın (örneğin, bir ülke YS başlangıç/bitiş tarihlerini değiştirir ve etkilenen aralıkta yer alan gelecekteki Tarih Saatleri depolanmış olur). Atlanırsa Tarih Saati, yerel saat olarak 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.

Saniyede en fazla dokuz ondalık basamak içeren ve "s" ile biten 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, ör. "Amerika/New_York".

version

string

İsteğe bağlı. IANA Saat Dilimi Veritabanı sürüm numarası, ör. "2019a".