2013-03-07 37 views

Trả lời

6

Sự phù hợp giữa giờ địa phương và thời gian UTC dựa trên độ lệch được chỉ định dưới dạng số mili giây.

http://es5.github.com/#x15.9.1.7 nói

15.9.1.7 Time Zone Local Adjustment

An thực hiện ECMAScript dự kiến ​​sẽ xác định điều chỉnh múi giờ địa phương. Điều chỉnh múi giờ địa phương là giá trị LocalTZA được đo bằng mili giây khi được thêm vào UTC đại diện cho giờ chuẩn địa phương. Thời gian tiết kiệm ánh sáng ban ngày không được phản ánh bởi LocalTZA. Giá trị LocalTZA không thay đổi theo thời gian mà chỉ phụ thuộc vào vị trí địa lý.

Như để khi điều này rất hữu ích, http://bugs.python.org/issue5288 giải thích một vấn đề API nảy sinh từ giả định rằng offsets múi giờ là một số không thể thiếu trong phút:

Các Olson cơ sở dữ liệu múi giờ (được sử dụng bởi hầu hết các hệ thống UNIX và Mac OS X) có một số múi giờ có các khoảng thời gian lịch sử sử dụng độ phân giải thứ hai (từ trước khi các vị trí đó được chuyển sang số bù tròn từ GMT).

Khi bạn xuống đến độ phân giải thứ hai, không có getUTCMillis có vẻ như là một sự bất đối xứng kỳ lạ.

+2

Vui rằng offset được xác định là ** mili giây ** đến * * thêm ** vào UTC, nhưng phương thức 'getTimezoneOffset' trả về một giá trị trong ** phút ** mà phải được ** trừ ** từ UTC để lấy thời gian cục bộ. Bạn không chỉ yêu thích tác giả spec? – RobG

+0

Chỉ cần bây giờ nhận ra làm thế nào fecking nhầm lẫn thời gian và múi giờ có thể được. – Matt

+1

@RobG, Vâng, nhưng JavaScript có đối tượng Date trước khi nó có thông số kỹ thuật :) –

0

vì có leap seconds.

+0

JavaScript không tôn vinh giây nhảy vọt. Xem các định nghĩa của 'msFromTime' và' secFromTime' trong [specs language] (http://es5.github.com/#x15.9.1.10) –

Các vấn đề liên quan