ประตู:ค้นหาlocal time
และUTC time offset
จากนั้นสร้าง URL ในรูปแบบต่อไป
ตัวอย่าง URL: / Actions / Sleep? duration = 2002-10-10T12: 00: 00−05: 00
รูปแบบเป็นไปตามคำแนะนำของ W3C: http://www.w3.org/TR/xmlschema11-2/#dateTime
เอกสารระบุว่า:
ตัวอย่างเช่น 2002-10-10T12: 00: 00−05: 00 (เที่ยงของวันที่ 10 ตุลาคม 2545 เวลาออมแสงกลางและเวลามาตรฐานตะวันออกในสหรัฐอเมริกา) เท่ากับ 2002-10-10T17: 00: 00Z ห้าชั่วโมงช้ากว่า 2002-10-10T12: 00: 00Z
ตามความเข้าใจของฉันฉันต้องหาเวลาท้องถิ่นของฉันด้วย Date () ใหม่จากนั้นใช้ฟังก์ชัน getTimezoneOffset () เพื่อคำนวณความแตกต่างจากนั้นแนบท้ายสตริง
1. รับเวลาท้องถิ่นด้วยรูปแบบ
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
เอาท์พุท
2013-07-02T09:00:00
2. รับเวลา UTC ชดเชยเป็นรายชั่วโมง
var offset = local.getTimezoneOffset() / 60;
เอาท์พุท
7
3. สร้าง URL (เฉพาะส่วนเวลา)
var duration = local + "-" + offset + ":00";
เอาต์พุต:
2013-07-02T09:00:00-7:00
ผลลัพธ์ข้างต้นหมายถึงเวลาท้องถิ่นของฉันคือ 2013/07/02 9.00 น. และความแตกต่างจาก UTC คือ 7 ชั่วโมง (UTC เร็วกว่าเวลาท้องถิ่น 7 ชั่วโมง)
จนถึงตอนนี้ดูเหมือนจะใช้งานได้ แต่จะเกิดอะไรขึ้นถ้า getTimezoneOffset () ส่งคืนค่าลบเช่น -120?
ฉันสงสัยว่ารูปแบบควรเป็นอย่างไรในกรณีนี้เนื่องจากฉันไม่สามารถหาข้อมูลจากเอกสาร W3C ได้ ขอบคุณล่วงหน้า.