Ответ 1
mySQL имеет DATE_SUB()
:
SELECT DATE_SUB(column, INTERVAL 3 HOUR)....
но не лучше ли попытаться решить проблему основного часового пояса?
Я получаю поле datetime, которое в настоящее время находится в запросе как:
SELECT DATE_FORMAT(x.date_entered, '%Y-%m-%d') AS date FROM x ORDER BY date ASC
То, что я хочу сделать, это вычесть 3 часа с этой даты (проблемы с GMT), но я не могу это сделать в PHP, поскольку PHP знает только дату, а не время.
mySQL имеет DATE_SUB()
:
SELECT DATE_SUB(column, INTERVAL 3 HOUR)....
но не лучше ли попытаться решить проблему основного часового пояса?
Предполагая, что у вас есть проблема с часовым поясом, и знаете часовой пояс и источник времени, вы можете преобразовать его так:
SELECT DATE_FORMAT(CONVERT_TZ(x.date_entered, 'UTC', 'Europe/Berlin'),
'%Y-%m-%d') AS date
FROM x ORDER BY date ASC;