Я использую highcharts для рисования диаграмм и анализа даты с помощью функции new Date()
. В Chrome и FF дата отлично разбирается.JavaScript new Date() Возвращение NaN в IE, Safari
Но в IE и Safari я получаю NaN и недопустимый формат даты resp.
Ниже данные я получаю от базы, в (element.x) массив
2016, 04,05
2016, 04,06
2016, 04,07
2016, 04,08
2016, 04,09
2016, 04,10
Теперь, я уверен, преобразование его в Date объект в JavaScript, как показано ниже:
//Loop starts
var xAxis = new Date(element.x);
datas.push([Date.UTC(xAxis.getUTCFullYear(),xAxis.getUTCMonth(), xAxis.getUTCDate())]);
//Loop ends
Теперь, эта операция возвращает NaN в IE, но работает очень хорошо в хроме, как показано ниже:
Chrome
Array([0]=>140004454) - Unix Time stamp i get
IE
Array([0]=>NaN)
После правильного разбора строки, если вы хотите получить массив значений времени, просто выполните 'datas.push (+ xAxis)', который будет принуждать Date к числу, возвращая его значение времени. Или используйте 'xAxis.getTime()', если вам нужно что-то более четкое. – RobG
Но проблема была в новой функции Date(). Он не правильно обрабатывал дату. – Gags
Следовательно, почему это комментарий, а не ответ? Я уже дал Джону +1. :-) Просто подумал, что я бы сэкономил вам кучу ввода и ненужного вызова Date.UTC. – RobG