2017-07-04 9 views
1

私はanglejsアプリケーションでHIGHCHARTを使用します。 私はunixTimeStampDate.parse()ハイチャートでは動作しません

var unixTimeStamp1 = dateTime.getTime(); // 1496822400000 

に変換し、highchartを開くときに、このGoogleのChromeとFirefoxで正常に作動した後、API日

var dateTime = new Date(value.date_time); // Wed Jun 07 2017 10:00:00 GMT+0200 (Central European Summer Time) 

から得るが、SafariとIEで動作していません。今度はミリ秒に変換する必要があります

var unixTimeStamp = Date.parse(unixTimeStamp1); // here i get NaN 

すべての図は空です。私が代わりに、すべてのブラウザでこの作品

var unixTimeStamp = new Date(unixTimeStamp1*1000); // Wed May 24 49476 06:00:00 GMT+0200 (Central European Summer Time) 

上記の本をしようとした場合

は(IE、サファリ、クロム、Firefoxの...)しかし、チャートの日付が正しくありません。これにより は、私はこれが重複質問であれば、これは正しい日付に enter image description here

私の謝罪である enter image description here

怒鳴る画像上でこのように日付を取得するが、私は私の問題のために正しい答えを見つけられませんでした。

あなたは、その文字列を解析し、それはすべてのブラウザ上で動作することを確認するためにDate.parseを使用することはできません
+0

'の値が何であるSSを、あなたはこのようにそれを解析することができますvalue.date_time'? –

+0

value.date_time = 2017-06-07 10:00:00 – Arter

+0

大丈夫だと「時間」しか得られず、日付に変換されます。あなたは正しい日付を持っています。なぜそれを変更してから日付に変更する必要があるのですか? –

答えて

1

からthe description of Date.parseを参照してください。

ため、日付文字列の解析では分散の、常に手動で解析することをお勧めします結果としての文字列は、特に2015-10-12 12:00:00のような文字列がNaN、UTC、またはローカルタイムゾーンとして解析されるECMAScriptのさまざまな実装では、矛盾します。

あなたの日付はYYYY-MM-DD HHのような形式がある場合:MM:

const date = '2017-06-07 10:00:00' 
const d = date.match(/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/) 
const parsed = new Date(d[1], d[2], d[3], d[4], d[5], d[6]).getTime() 

例:http://jsfiddle.net/zt1k31sf/

+0

ありがとうございます。 – Arter

関連する問題