私は現在の時刻を表す文字列を持っています:2015-11-24T19:40:00
。どのようにしてこの文字列をJavascriptで解析し、この文字列で表される日付をとして取得するのですか?ローカル時間? いくつかの制限のため、ライブラリmoment
は使用できませんが、jqueryは許可されています。私は誰かが前にこの質問をしていることを知っているが、その答えは、例えばmoment
Javascript:現地時間帯としてDateに文字列を解析します
を使用し、私はカリフォルニアでスクリプトを実行する場合、この文字列は午後7時(太平洋標準時)に相当するであろうが、私はその後、NYでスクリプトを実行する場合、この文字列は東部時間を表しますか?
私は次のことを試してみましたが、ChromeとFirefoxは私に異なる結果を与える:
var str = "2015-11-24T19:40:00";
var date = new Date(str);
Chromeは、UTC時間(Tue Nov 24 2015 11:40:00 GMT-0800 (Pacific Standard Time)
)としてそれを消費
が、Firefoxは私の地元のPACIFICとしてそれを消費時間(Tue Nov 24 2015 19:40:00 GMT-0800 (Pacific Standard Time)
)
のようにstr
に "Z"を追加しようとしました、両方のブラウザが私にUTC時間を与えます。 "Z"
には、すべてのブラウザ(少なくともchrome、Firefox、Safari)に文字列をローカルタイムゾーンとして解析するような似た手紙がありますか?
偉大な答え!!! –
を副疑問に思っていますが、 'new Date()'は常に現在のローカル時刻を返しますか?そうでない場合は、どうすれば現在の現地時間を取得できますか?少なくともChromeとFirefox用にテストしてください。基本的には、 '' 2015-11-24T19:40:00 "' – Simo
のように、現在の時刻と文字列で表される指定時刻の差(秒)を取得する必要があります。時刻値が現在のUTC時刻に設定され、システム設定に基づいてオフセットされたDateオブジェクト。その提示方法は、[* toString *](http://www.ecma-international.org/ecma-262/6.0/#sec-date.prototype.tostring)、[* toISOString *]というメソッドによって決まります。 (http://www.ecma-international.org/ecma-262/6.0/#sec-date.prototype.toisostring)、[* toUTCString *](http://www.ecma-international.org/ecma-262 /6.0/#sec-date.prototype.toutcstring)、[* toLocaleTimeString *](http://www.ecma-international.org/ecma-262/6.0/#sec-date.prototype.tolocaletimestring)など – RobG