date_format в MySQL выберите заявление

0

У меня есть дата, хранящаяся в моей таблице MySQL как 2010-01-01 01:01:01

но когда я запрашиваю дату с помощью команды date_format, например

DATE_FORMAT( date_created, '%%m-%%d-%%y (%%h:%%i %%p)' ) as cdate 

Я получаю преобразованную дату на основе системного часового пояса MySQL, т.е. разница в несколько часов.

Для этого я использовал запрос:

"SET GLOBAL time_zone = '+5:30'"
"SET SESSION time_zone = '+5:30'"

Но все же MySQL-запрос доставляет конвертированную дату. Я хочу точно указать дату, которая хранится в этой таблице, без добавления/вычитания различий в часовых поясах.

Пожалуйста, помогите. Я действительно застрял.

Теги:
datetime

1 ответ

0
SET SESSION time_zone = SYSTEM;

или

SET SESSION time_zone = '+0:0'; -- for UTC time if server TZ is set correctly. 
  • 0
    Я выполнил команду SELECT @@ global.time_zone, @@ session.time_zone; Вышеприведенный запрос также возвращает +0: 00 .. Но все же он конвертирует время в другой часовой пояс .. Пожалуйста, помогите ...
  • 0
    тогда это время, которое хранится там. Столбцы даты и времени были преобразованы в UTC в соответствии с tz, которые действовали до их сохранения в таблицах. Если вы хотите одинаковое время, когда вы его сохранили, вам нужно установить тот же часовой пояс, когда вы его сохранили.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню