Dizin
Tarih ve saat
Resmi saati (veya bazen fiziksel saati) temsil eder.
Bu tür, sivil zamanı birkaç olası şekilde temsil edebilir:
- utc_offset ayarlandığında ve time_zone ayarlanmadığında: UTC'den belirli bir saat farkına sahip bir takvim günündeki sivil saat.
- Saat_ dilimi ayarlandığında ve utc_offset ayarlanmadan bırakıldığında, belirli bir saat dilimindeki bir takvim gününde günlük saattir.
- time_zone veya utc_offset ayarlanmadığında: Yerel saate göre 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ız kullanıcının saat dilimini de kaydetmek istiyorsa 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.
Alanlar | |
---|---|
year |
İ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 |
İ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 |
İ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 olmadan bir tarih/saat belirtiliyorsa 0 olmalıdır. |
hours |
İsteğe bağlı. 24 saat biçiminde günün saatleri. 0 ile 23 arasında olmalıdır; varsayılan olarak 0 (gece yarısı) değerine ayarlanır. Bir API, işletmenin kapanma zamanı gibi senaryolar için "24:00:00" değerine izin vermeyi seçebilir. |
minutes |
İsteğe bağlı. Günün saatindeki dakikalar. 0 ile 59 arasında olmalıdır. Varsayılan olarak 0 değerine ayarlanır. |
seconds |
İsteğe bağlı. Zamandaki dakikaların saniyeleri. Normalde 0 ile 59 arasında olmalıdır; varsayılan değer 0'dır. Bir API, saniye atlamalarına izin veriyorsa 60 değerine izin verebilir. |
nanos |
İsteğe bağlı. Nanosaniye cinsinden saniye kesirlerini belirtir. 0 ile 999.999.999 arasında bir değer olmalıdır. Varsayılan değer 0'dır. |
Birlik alanı time_offset . İsteğe bağlı. UTC farkını veya DateTime'ın 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 şunlardan yalnızca biri olabilir: |
|
utc_ |
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. |
time_ |
Saat dilimi. |
TimeOfDay
Günün bir saatini temsil eder. Tarih ve saat dilimi önemli değil veya başka bir yerde belirtilmiş. Bir API, saniye atlamalarına izin vermeyi seçebilir. İlgili türler google.type.Date
ve google.protobuf.Timestamp
'dur.
Alanlar | |
---|---|
hours |
24 saat biçiminde günün saati. 0'dan büyük veya 0'a eşit ve genellikle 23'ten küçük veya 23'e eşit olmalıdır. Bir API, işletmenin kapanma zamanı gibi senaryolar için "24:00:00" değerine izin vermeyi seçebilir. |
minutes |
Dakikalar içinde bir saat. 0'dan büyük veya 0'a eşit ve en fazla 59 olmalıdır. |
seconds |
Bir dakikanın saniyeleri. 0'dan büyük veya 0'a eşit olmalıdır ve genellikle en fazla 59 olmalıdır. Bir API, saniye atlamalarına izin veriyorsa 60 değerine izin verebilir. |
nanos |
Nanosaniye cinsinden saniye kesirlerini belirtir. 0'dan büyük veya 0'a eşit ve 999.999.999'dan küçük veya buna eşit olmalıdır. |
TimeZone
IANA Saat Dilimi Veritabanı'ndan bir saat dilimini temsil eder.
Alanlar | |
---|---|
id |
IANA Saat Dilimi Veritabanı saat dilimi (ör. "America/New_York"). |
version |
İsteğe bağlı. IANA Saat Dilimi Veritabanı sürüm numarası, ör. "2019a". |