DateTime

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 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 içermeyen bir tarih/saat belirtiyorsa 0 olmalıdır.

month

integer

İ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

integer

İ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

integer

İ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

integer

İ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

integer

İ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

integer

İ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

string (Duration format)

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.

"s" ile biten ve en fazla dokuz kesir basamağı olan, saniye cinsinden bir 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. "America/New_York".

version

string

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