6

何らかの理由で、ハワイのタイム ゾーンの日付を JavaScript に渡すと、Date()「無効な日付」が表示されますが、他のタイム ゾーンでは表示されません。これに対する回避策はありますか?

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) 

jsフィドル

4

1 に答える 1

7

RFC 2822は、北米の UT オフセットのみをサポートしています ( 32 ページを参照)。

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

それ以外の場合は、UTC または GMT を基準とした数値を使用する必要があります。HAST の場合、これはUTC-1000(UTC の 10 時間前) になります。

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

フィドル

于 2013-07-31T17:50:38.783 に答える