fand ich eine Abhilfe für dieses. Problem war mit der Ordinate, die wir senden. als neues Date() deckt 2:00 und 3:00 zur gleichen Zeit für DST ab. Also müssen wir die rechten Ordinaten selbst in Millisekunden senden.
Ich habe eine Funktion convertInMill verwendet, die Zeit Zeichenfolge in UTC konvertiert und Zeitzone Offset zurück hinzufügen.
var convertInMill = function(stringDate) {
var obj, year, mnth, day, hr, min, sec, timeZoneOffset, timeInMillS;
timeZoneOffset = 1; // machine timezone offset with UTC timezone
obj = stringDate.split(/[\s/:-]+/);
year = obj[0];
mnth = obj[1];
day = obj[2];
hr = obj[3];
min = obj[4];
sec = obj[5];
timeInMillS = Date.UTC(year, mnth - 1, day, hr, min, sec) + (timeZoneOffset * 3600000);
return timeInMillS;
}
Series Datum
series: [{
data: [
[convertInMill('2017/03/12 00:00:00'), 10],
[convertInMill('2017/03/12 01:00:00'), 20],
[convertInMill('2017/03/12 02:00:00'), 30],
[convertInMill('2017/03/12 03:00:00'), 40],
[convertInMill('2017/03/12 04:00:00'), 50]
]
}]``
Unten Geige arbeitet für mich.
http://jsfiddle.net/SurenderK/ko8dk2fd/11/
Ich sehe aus wie es in Ordnung macht. API-Referenz: http://api.highcharts.com/highcharts/global.useUTC. –
Es ist nicht so, dass es falsch rendert - es ist, dass Ihr Aufruf von 'getTime()' den gleichen Wert für 2:00 und 3:00 zurückgibt: '1489302000000'. Ich weiß nicht, warum das so ist, aber es funktioniert unabhängig von der Einstellung 'useUTC'. http://jsfiddle.net/ko8dk2fd/5/ – jlbriggs
Es ist der gleiche Wert, weil um 3:00 die Sommerzeit eingespart wird und die Uhr auf 2:00 zurückgedreht wird. – ewolden