2011-05-27 3 views
3

Мне сложно понять, как Google Chart понимает формат даты и времени. Я использовал пример [1], где формат даты и времени установлен на простой месяц и год, но я изменил его, чтобы ввести ввод типа datetime. В качестве примера можно на следующей странице:API-интерфейс Google Chart API datetime unix?

http://www.sccs.swarthmore.edu/users/09/leo/cgi-bin/viewer.php

Начало кода выглядит следующим образом:

data.addColumn('datetime', 'Date'); 
data.addColumn('number', 'Active or not');  
data.addRows(1768); 
data.setValue(0, 0, new Date(1306192258)); 
data.setValue(0, 1, 1); 

Почему Google изменит этот формат даты 15 января 1970 года? (Время начала эпохи?)

Спасибо!

[1] http://www.beakkon.com/geek/how-to/create-interactive-charts-using-google-charts-api

ответ

5

Попробуйте это:

data.addColumn('datetime', 'Date'); 
data.addColumn('number', 'Active or not');  
data.addRows(1768); 
var d = new Date(); 
d.setTime(1306192258*1000); 
data.setValue(0, 0, d); 
data.setValue(0, 1, 1); 
+0

могли бы вы добавить краткое объяснение, почему умножая число с 1000 бы решить эту проблему? Это вопрос секунд или миллисекунд? – Mattis

+0

Nevermind, я узнал, что функция javascript setTime() использует миллисекунды, спасибо! – Mattis

1

Некоторые больше информации о функции Javascript Дата можно найти w3schools.com сайт я нашел - новый Date ("21 июля 2011 2:00 : 00 "), чтобы быть хорошим компромиссом для того, что я хотел сделать.

Отрывок из моего кода

data.addRows([ 
[new Date("July 21, 2011 00:00:00"), 0.319636363636 ], 
[new Date("July 21, 2011 07:00:00"), 0.319636363636 ], 
[new Date("July 21, 2011 22:00:00"), 0.319636363636 ], 
[new Date("July 21, 2011 23:00:00"), 0.319636363636 ], 
[new Date("July 22, 2011 09:00:00"), 0.319636363636 ], 
[new Date("July 22, 2011 10:00:00"), 0.319636363636 ] 
]); 
Смежные вопросы