2013-07-31 35 views
6

Vì một lý do nào đó, khi tôi chuyển một ngày có múi giờ Hawaii sang số Date() của JavaScript, tôi nhận được "ngày không hợp lệ", nhưng bất kỳ múi giờ nào khác tôi không làm. Có một cách giải quyết cho điều này?Ngày với múi giờ Hawaii làm cho ngày JavaScript không hợp lệ

var HAST = 'Wed, 31 Jul 2013 07:21:16 HAST'; 
var hawaiiTime = new Date(HAST); 
console.log("Hawaii time: "+hawaiiTime); 
// Hawaii time: Invalid Date 

var PST = 'Wed, 31 Jul 2013 07:21:16 PST'; 
var pacificTime = new Date(PST); 
console.log("Pacific time: "+pacificTime); 
// Pacific time: Wed Jul 31 2013 09:21:16 GMT-0600 (MDT) 

jsFiddle

Trả lời

7

RFC 2822 chỉ hỗ trợ khu vực Bắc Mỹ UT Hiệu số (Xem Page 32).

"EST"/"EDT"/  ; Eastern: - 5/ - 4 
"CST"/"CDT"/  ; Central: - 6/ - 5 
"MST"/"MDT"/  ; Mountain: - 7/ - 6 
"PST"/"PDT"/  ; Pacific: - 8/ - 7 

Đối với mọi thứ khác, bạn nên sử dụng giá trị số tương ứng với UTC hoặc GMT. Đối với HASTC, đây sẽ là UTC-1000 (10 giờ trước UTC):

var HAST = 'Wed, 31 Jul 2013 07:21:16 UTC-1000'; 

Fiddle

+0

Bạn đánh bại tôi vào nó. +1. – Renan

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