DateTime

หมายถึงเวลาราชการ (หรือบางครั้งก็จริง)

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

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

วันที่จะสัมพันธ์กับปฏิทินเกรกอเรียนที่ Proleptic

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

ประเภทนี้อาจใช้เพื่อแสดงเวลาจริงหากมีการตั้งค่าช่องวันที่และเวลาทั้งหมด และได้ตั้งค่าอย่างใดอย่างหนึ่งของ 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 และได้จัดเก็บวันที่และเวลาในอนาคตในช่วงที่ได้รับผลกระทบไว้แล้ว) หากไม่ระบุ ระบบจะถือว่า DateTime เป็นเวลาท้องถิ่น 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 เช่น "America/New_York"

version

string

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