#javascript #google-api #google-visualization
#javascript #google-api #google-визуализация
Вопрос:
Мне трудно заставить Google Charts понимать формат datetime. Я использовал пример [1], где формат datetime установлен на простой месяц, день и год, но я изменил его, чтобы принимать входные данные типа datetime. Пример доступен на следующей странице:
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
Ответ №1:
Попробуй это:
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);
Комментарии:
1. не могли бы вы добавить краткое объяснение, почему умножение числа на 1000 решило бы проблему? Это вопрос секунд по сравнению с миллисекундами?
2. Неважно, я обнаружил, что функция javascript setTime () использует миллисекунды, спасибо!
Ответ №2:
Некоторую дополнительную информацию о функции даты Javascript можно найтиw3schools.com веб-сайт, который я нашел — новая дата («Июль 21, 2011 02: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 ]
]);