DateTime

แสดงเวลาปกติ (หรือเวลาจริงในบางครั้ง)

ประเภทนี้สามารถแสดงถึงเวลาพลเรือนด้วยวิธีใดวิธีหนึ่งต่อไปนี้

  • เมื่อตั้งค่า utcOffset และไม่มีการตั้งค่า timeZone: เวลาปกติในวันตามปฏิทินที่มีการชดเชยเฉพาะจาก UTC
  • เมื่อตั้ง timeZone และไม่ได้ตั้งค่า utcOffset ไว้: เป็นเวลาปกติของวันตามปฏิทินในเขตเวลาที่เฉพาะเจาะจง
  • เมื่อไม่ได้ตั้งค่า timeZone และ utcOffset ไว้: เป็นเวลาปกติในวันตามปฏิทินตามเวลาท้องถิ่น

ซึ่งเป็นวันที่ที่เกี่ยวข้องกับปฏิทินเกรโกเรียน Proleptic Gregorian

หากปี เดือน หรือวันเป็น 0 ระบบจะถือว่าวันที่และเวลาไม่มีปี เดือน หรือวันที่เฉพาะเจาะจงตามลำดับ

ประเภทนี้อาจใช้เพื่อแสดงเวลาจริงได้หากมีการตั้งค่าช่องวันที่และเวลาไว้ทั้งหมดและตั้งค่ากรณีใดกรณีหนึ่งของการใช้ time_offset อย่างใดอย่างหนึ่ง ลองใช้ข้อความ Timestamp สำหรับเวลาจริงแทน หากกรณีการใช้งานของคุณต้องการจัดเก็บเขตเวลาของผู้ใช้ด้วย คุณสามารถทำได้ในช่องอื่น

ประเภทนี้มีความยืดหยุ่นมากกว่าที่แอปพลิเคชันบางอย่างอาจต้องการ อย่าลืมบันทึกและตรวจสอบข้อจำกัดของใบสมัคร

การแสดง JSON
{
  "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.
}
ช่อง
year

integer

ไม่บังคับ ปีของวันที่ ต้องเป็นตัวเลข 1 ถึง 9999 หรือ 0 หากระบุวันที่และเวลาโดยไม่มีปี

month

integer

ไม่บังคับ เดือนของปี ต้องเป็น 1 ถึง 12 หรือ 0 หากระบุวันที่และเวลาโดยไม่ระบุเดือน

day

integer

ไม่บังคับ วันของเดือน ค่านี้ต้องอยู่ระหว่าง 1 ถึง 31 และใช้ได้กับปีและเดือน หรืออาจเป็น 0 หากระบุวันที่และเวลาโดยไม่มีวัน

hours

integer

ไม่บังคับ ชั่วโมงของวันในรูปแบบ 24 ชั่วโมง ควรอยู่ระหว่าง 0 ถึง 23 และมีค่าเริ่มต้นเป็น 0 (เที่ยงคืน) API อาจเลือกอนุญาตให้ใช้ค่า "24:00:00" สำหรับสถานการณ์ต่างๆ เช่น เวลาปิดทำการของธุรกิจ

minutes

integer

ไม่บังคับ นาทีในชั่วโมงของวัน ต้องอยู่ระหว่าง 0 ถึง 59 โดยมีค่าเริ่มต้นเป็น 0

seconds

integer

ไม่บังคับ วินาทีของนาทีของเวลา โดยปกติจะต้องอยู่ระหว่าง 0 ถึง 59 โดยมีค่าเริ่มต้นเป็น 0 API อาจอนุญาตค่า 60 หากอนุญาตให้ใช้วินาทีอธิกสุรทิน

nanos

integer

ไม่บังคับ เศษส่วนของวินาทีในนาโนวินาที ต้องอยู่ระหว่าง 0 ถึง 999,999,999 และมีค่าเริ่มต้นเป็น 0

ฟิลด์สหภาพ time_offset ไม่บังคับ ระบุการชดเชย UTC หรือเขตเวลาของ DateTime โปรดเลือกอย่างระมัดระวังเนื่องจากข้อมูลเขตเวลาอาจมีการเปลี่ยนแปลงในอนาคต (เช่น ประเทศแก้ไขวันที่เริ่มต้น/สิ้นสุด DST และระบบได้จัดเก็บวันที่และเวลาในอนาคตของช่วงที่ได้รับผลกระทบไว้แล้ว) หากไม่ระบุ ระบบจะถือว่าวันที่และเวลานั้นเป็นเวลาท้องถิ่น time_offset ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
utcOffset

string (Duration format)

การชดเชย UTC ต้องเป็นจำนวนเต็มวินาที ตั้งแต่ -18 ชั่วโมงถึง +18 ชั่วโมง ตัวอย่างเช่น ออฟเซ็ต UTC ที่ -4:00 จะแสดงเป็น { seconds: -14400 }

ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" เช่น "3.5s"

timeZone

object (TimeZone)

เขตเวลา

TimeZone

แสดงเขตเวลาจากฐานข้อมูลเขตเวลา IANA

การแสดง JSON
{
  "id": string,
  "version": string
}
ช่อง
id

string

เขตเวลาของ IANA Time Zone Database เช่น "America/New_York"

version

string

ไม่บังคับ หมายเลขเวอร์ชันของฐานข้อมูลเขตเวลาของ IANA เช่น "2019a"