Я использую Morris.js для отображения линейной диаграммы и подачи ее временными метками как значения оси X.
В качестве примера будет лучше, чем какие-либо объяснения, вот пример данные:Неправильное форматирование даты
{
"1415376000":
{"VALUE1":0,"VALUE2":0,"VALUE3":16,"VALUE4":0},
"1415980800":
{"VALUE1":0,"VALUE2":0,"VALUE3":2,"VALUE4":0},
"1416585600":
{"VALUE1":0,"VALUE2":0,"VALUE3":2,"VALUE4":0},
"1417190400":
{"VALUE1":0,"VALUE2":0,"VALUE3":7,"VALUE4":0},
"1417795200":
{"VALUE1":10,"VALUE2":6,"VALUE3":16,"VALUE4":3},
"1418400000":
{"VALUE1":5,"VALUE2":4,"VALUE3":67,"VALUE4":5},
"1419004800":
{"VALUE1":3,"VALUE2":0,"VALUE3":38,"VALUE4":3},
"1419609600":
{"VALUE1":4,"VALUE2":1,"VALUE3":24,"VALUE4":1}
}
Как вы можете видеть, «1419609600» -ish данные Unix Timestamps (созданный с помощью PHP mktime() function). Время между двумя временными метками динамически генерируется, здесь это одна неделя (604800 секунд).
После инициализации простой Morris.Line(), вот результат:
Дата странным образом отформатирован, и плохо трансформируются: фактические даты, созданные с() указываете ей в ноябре-декабре 2014 года ...
После добавления dateFormat: function (x) { return new Date(x * 1000).toString(); }
(вместо стандартных dateFormat: function (x) { return new Date(x).toString(); }
) параметра при инициализации, превращая эти секунды метку времени в метку время в миллисекундах, то результат будет ближе, чем мы ожидаем:
Но как, например, показать эту дату как «05-12 декабря 2014 года»? Я попытался сыграть с параметром xLabels
, dateFormat
, но это либо ничего не меняет, либо вызывает ошибки.
В качестве побочного вопроса, так как моя временная метка имеет динамический диапазон (разница между меткой времени и временной меткой max может составлять один день, один месяц, один год ...), есть ли способ для Morris.js учтите это и динамично адаптируйтесь к этому диапазону, показывая дни или дни, ...? Из моего понимания документации это должно быть возможно, но я могу ошибаться ...
Большое спасибо.
Вы должны объяснить свой код немного. –
@SebastianZartner Хорошо, обновлено. – waki
Форматирует дату, как ожидалось. Благодаря ! – johnkork