Я создаю график с d3 с данными из базы данных, но не могу правильно отобразить дату, вместо этого она показывает только 17.01.1970.
Я получаю дату из базы данных в этом формате:
YYYY-MM-DD
и преобразовать его в метку времени с помощью:
strtotime($t)
это приводит к отметкам времени, таким как:
1417215600, 1417302000, 1417388400
Но график показывает только вышеупомянутый Unix второй нуль.
И вот как формируется ось X:
chart.xAxis
.tickFormat(function(d) { return d3.time.format('%x')(new Date(d)) });
Я живу в Италии, часовой пояс по умолчанию в моем приложении — CET, поэтому я попытался установить
date_default_timezone_set('UTC');
но безуспешно
Может кто-нибудь посоветовать?
Решив это, добавив .000 к каждой временной метке, javascript хочет 13-ти символьные временные метки вместо 10-ти символьной временной метки php:
strtotime($t).'000'
возвращает правильный вывод для моего графика
Других решений пока нет …