Карты Google: передача дат без использования Date()?

Резюме

Я пытаюсь построить линейный график в Google Charts с датами в качестве оси X. У меня все отсортировано, но для этого требуется передать даты как объекты Date, то есть new Date(2005, 3, 13).Есть ли способ передать его как временную метку Unix или, возможно, строку?

Подробнее

Итак, у меня есть куча данных в PHP, которые я хочу изобразить в виде графика. Я беру данные и упорядочиваю их в массив в формате, который будет создавать правильный формат JSON при выполнении через json_encode()согласно документам данных Google:

$graph_data = array(
    'cols' => array(
        array(
            'id' => 'date',
            'label' => 'Date',
            'type' => 'datetime',
        ),
        array(
            'id' => 'odometer',
            'label' => 'Miles',
            'type' => 'number',
        ),
    ),
    'rows' => array(
        array(
            'c' => array(
                array( 'v' => 1331479502 ),
                array( 'v' => 56872 ),
            ),
        ),
        array(
            'c' => array(
                array( 'v' => 1331375984 ),
                array( 'v' => 55324 ),
            ),
        ),
        array(
            'c' => array(
                array( 'v' => 1328966460 ),
                array( 'v' => 54244 ),
            ),
        ),
    ),
);

{"cols":[{"id":"date","label":"Date","type":"datetime"},{"id":"одометр","label":"Мили"," тип":"число"}],"строки":[{"c":[{"v":1331479502},{"v":56872}]},{"c":[{"v":1331375984 },{"v":55324}]},{"c":[{"v":1328966460},{"v":54244}]}]}

Таким образом, создание JSON не работает, но API хочет, чтобы даты передавались как объект Date, а не число (или строка). Он выдает ошибку прямо сейчас, но если я изменю его с datetimeна number, он отлично отобразится, поэтому я знаю, что мой формат JSON правильный.

Могу ли я что-нибудь сделать, чтобы API принимал временные метки Unix или, возможно, какую-то строку?

Когда я набрал это, я понял, что, возможно, я мог бы использовать какой-нибудь Javascript для обхода объекта JSON и замены временных меток объектами Date, но было бы неплохо, если бы мне не приходилось выполнять любые манипуляции с данными через Javascript.

РЕДАКТИРОВАТЬ

Я прошел часть пути, установив типна числои передав даты следующим образом:

        array(
            'c' => array(
                array( 'v' => 1331479502, 'f' => 'March 11th, 2012' ),
                array( 'v' => 56872 ),
            ),
        ),

Это делает fотображается во всплывающей подсказке (ура!), но значение vпо-прежнему используется для меток осей. Хм.

РЕДАКТИРОВАТЬ #2

Похоже, использование DataViewдля преобразования временной метки числав дату может иметь некоторый потенциал, но я еще не понял этого.

9
задан Viper007Bond 12 March 2012 в 10:41
поделиться