DateTime

แสดงเวลาพลเมือง (หรือเวลาจริง)

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

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

วันที่นี้สัมพันธ์กับปฏิทินเกรกโพรเกรส

หากปี เดือน หรือวันเป็น 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

ช่อง Union 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 เช่น "อเมริกา/นิว_ยอร์ก"

version

string

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