Формат Google Charts API datetime unix?

#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 ]
]);