2016-09-19 2 views
0

Я использую JqxCharts из JqWidgets.Поле Mysql DATE, выбранное в формате yyyy-MM-ddTHH: mm: ss-HH: mm

Использование файла PHP для получения данных Json для Графа.

В Mysql запросе я сделать что-то вроде этого:

SELECT fecha, Qty 
FROM somedatabase 

2016-05-01  5 
2016-07-21  55 
2016-08-16  33 

Поле "Fecha" простой формат DATE. Но когда его отображения на графике я всегда получаю неправильную дату (1 день меньше)

Apparently it has to do something with Date Format conversion from javascript.

И мне нужно, чтобы получить дату из MySql в формате «YYYY-MM-ДДTчч: мм: & beta; HH: mm "

Как я могу получить этот формат из моего фактического запроса?

ОБНОВЛЕНИЕ: РЕШЕН.

Благодаря «тадману», чтобы помочь мне понять. Я искал, как выбрать Mysql ISO 8601, so I found

Так что теперь я просто обновил запрос на:

SELECT DATE_FORMAT(fecha, '%Y-%m-%dT%T-06:00'), Qty 
FROM somedatabase 

Кстати, если кто-то ищет это, «Т-06: 00» является UTC для Мексики.

+1

Это просто [ISO-8601 формат] (https://en.wikipedia.org/wiki/ISO_8601). Внутренний формат MySQL также является формой этого, но 'T' опущен. Если вам нужно провести переформатирование даты по любой причине, сделайте это в PHP, а не в своем запросе. – tadman

+0

Это не то, что я искал, но это помогло мне это понять, спасибо –

ответ

1

Благодаря «тадману», чтобы помочь мне понять. Я искал, как выбрать Mysql ISO 8601, so I found

Так что теперь я просто обновил запрос на:

SELECT DATE_FORMAT(fecha, '%Y-%m-%dT%T-06:00'), Qty 
FROM somedatabase 

Кстати, если кто-то ищет это, «Т-06: 00» является UTC для Мексики.

+0

Как предупреждение, это правильно сегодня, но 30 октября он переворачивается до -06: 00 от -05: 00. Возможно, вам захочется проверить, какое смещение часового пояса для любой заданной даты, что-то осложняется тем, что часовая зона переключается после полуночи. – tadman

+0

Это правда, мне было интересно, что происходит в этом случае, потому что на самом деле это всегда зона -6, но поскольку у нее есть переход на летнее время, она меняется, не уверен, если изменения, как вы говорите, если это так, ĺl нужно другое aproach к этой проблеме с датами в Mysql и javascript –

+0

В общих чертах даты не имеют часовых поясов, но времена * могут *. Как и все, что связано с датами, проверьте это исчерпывающе, чтобы убедиться, что у вас все получилось, и обратите особое внимание на нечетные случаи, связанные с летними днями летнего времени и летальными годами. – tadman

Смежные вопросы