Mục tiêu: Tìm local time
và UTC time offset
sau đó tạo URL ở định dạng sau.
URL mẫu: / Hành động / Ngủ? Thời lượng = 2002-10-10T12: 00: 00−05: 00
Định dạng dựa trên khuyến nghị của W3C: http://www.w3.org/TR/xmlschema11-2/#dateTime
Tài liệu cho biết:
Ví dụ: 2002-10-10T12: 00: 00−05: 00 (trưa ngày 10 tháng 10 năm 2002, Giờ tiết kiệm ánh sáng ban ngày miền Trung cũng như Giờ chuẩn miền Đông ở Hoa Kỳ) bằng 2002-10-10T17: 00: 00Z, muộn hơn năm giờ so với 2002-10-10T12: 00: 00Z.
Vì vậy, dựa trên sự hiểu biết của tôi, tôi cần tìm giờ địa phương của mình theo Date () mới, sau đó sử dụng hàm getTimezoneOffset () để tính toán sự khác biệt sau đó gắn nó vào cuối chuỗi.
1. Nhận giờ địa phương với định dạng
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
đầu ra
2013-07-02T09:00:00
2. Nhận bù đắp thời gian UTC theo giờ
var offset = local.getTimezoneOffset() / 60;
đầu ra
7
3. URL cấu trúc (chỉ phần thời gian)
var duration = local + "-" + offset + ":00";
đầu ra:
2013-07-02T09:00:00-7:00
Kết quả trên có nghĩa là giờ địa phương của tôi là 9 giờ sáng, 2013/07/02 và chênh lệch so với UTC là 7 giờ (UTC trước giờ địa phương 7 giờ)
Cho đến nay nó có vẻ hoạt động nhưng điều gì sẽ xảy ra nếu getTimezoneOffset () trả về giá trị âm như -120?
Tôi tự hỏi định dạng sẽ trông như thế nào trong trường hợp như vậy vì tôi không thể tìm ra từ tài liệu W3C. Cảm ơn trước.
toISOString()
từ năm 2009 . Xem câu trả lời của tôi dưới đây.