2013-06-13 6 views
1

Для highstock/Highcharts мне нужен формат даты, чтобы быть как это:Как мне конвертировать в UTC?

series: [{ 
    data: [[1331028000000, 5], [1331031600000, 6], [1331035200000, 4]] 
}] 

Первое число в каждом массиве является дата-штамп, я думаю, что это UTC. Когда я получаю данные, которые мне нужно поместить в таблицу, я получаю это так:

"2013-06-08T06:00:00.000-07:00" 

Мой вопрос, в каком формате это? И как мне преобразовать его в то, что мне нужно для highstock/highcharts.

+1

Формат ' "2013-06-08T06: 00: 00.000-07: 00"' является _ISO 8601_. '-07: 00' - часовой пояс,' T' отделяет дату от времени. '1331028000000' - время в _ms_. –

+1

UTC - это часовой пояс, а не формат. –

ответ

1

Просто введите эту строку в функцию Date(), и вы должны вернуть ее как объект Javascript Date.

var myDate = new Date('2013-06-08T06:00:00.000-07:00'); 

Чтобы вернуть его в качестве официального Отметка времени Unix, вам просто нужно, чтобы преобразовать его обратно в ряд, и разделить на 1000 (как есть тысяча ms в секунду), но это выглядит, как вы» re look for значение ms, а не формальная временная метка UNIX.

Самый простой способ - использовать префикс +.

var myUnixTimestamp = +myDate; 
// 1370696400000 
+0

@Watson ~ ну, вот что говорит ваша строка * ISO 8601 *, поэтому я был бы очень обеспокоен, если бы не оценил это. –

+0

Является ли эта строка такой же, как var myUnixTimestamp = '' + myDate; ? – Watson

+0

@Watson ~ нет, вероятно, между '+' и 'myDate' не должно быть пробелов. Ну, он должен работать с пространством --- поскольку оператор, вероятно, определен --- Я просто нахожу, что он читает без очистки. –

0

Его миллисекунда, попробуйте использовать нижеследующий код.

var date = new Date(1331028000000); 
console.log(date.toString()) 
+0

Мне нужно получить этот формат, с другого. – Watson

+0

'Tue Mar 06 2012 11:00:00 GMT + 0100 (Hora de verano romance)' ... как [документально] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Дата/ToString). –

+0

[http://stackoverflow.com/questions/498578/how-can-i-convert-a-date-value-in-iso-8601-format-to-a-date-object-in-javascript](http : //stackoverflow.com/questions/498578/how-can-i-convert-a-date-value-in-iso-8601-format-to-a-date-object-in-javascript) также может помочь вам. – Praveen

1
var date = new Date("2013-06-08T06:00:00.000-07:00"); 
    console.log(date.getTime()); 
    //or console.log(date.valueOf()); 
+0

Мне нужно получить этот формат, с другого. – Watson

+0

Er ... Разве вам что-то не хватает? Этот код в основном преобразует '1331028000000' в' 1331028000000' ;-P –

+0

@ Álvaro G.Викарио: просто пример кода. Точка использует date.getTime() или date.valueOf() для преобразования в миллисекунд с 01.01.1970 (время UTC) –