"10 1 2016"(2016年1月10日と思われる)の日付と "05:15:50"のような時刻がある場合は、その時刻の日付を「2016-01-10T15:15:50Z」または「2016-01-10T15:15:50 + 0000」のISO 8601フォーマット文字列としてのゼロオフセット。
現代の実装では、ISO 8601拡張フォーマット文字列を正しく解析する必要がありますが、一般的に実装の違いによりDateコンストラクタ(またはDate.parse、解析は同等です)を使用して文字列を解析することは好ましくありません。単一の書式を持っている場合は、2行で解析することができます。あるいは、パーサとフォーマッタを持つ多くのDateライブラリのうちの1つを使用し、パーサーに解析する文字列の形式を常に与えてください。
現地時間をUTCに変換する場合、現地時間のタイムゾーンオフセットを知る必要があります。それ以外の場合は、調整するためのデータがありません。
var d = new Date(2016,0,10,5,15,50);
console.log('Local: ' + d.toLocaleString() +
'\nUTC: ' + d.toISOString());
:
がUTCに5時15分50秒で2016年1月10日のようなローカルな日付を「変換」するために簡単です(ここで、「ローカル」は、ホストシステムのタイムゾーンに設定されているものです)
のtoLocaleStringが完全に実装依存であることに注意してくださいは、多くの場合、ブラウザ、システムの設定を無視し、異なる実装では異なる結果を生じさせます。
これにより、ホストは現在のシステムタイムゾーン設定を考慮し、日付を作成するときにそれらを適用することができます。 ECMAScriptのDateオブジェクトには、UTCに基づいた時間値があるため、本質的にUTCです。
試してみてください...エラーが表示されたり、問題が発生した場合に戻ってください –
UTC = GMT + 0時間ではありませんか? – Gabriel
ええ、私は英国にいて、時代は同じですが、別のタイムゾーンに変換したいと思っていたかもしれません –