Преобразование сервера MySQL TimeStamp в UTC

Я использую плагин timeago (http://timeago.yarp.com/), он отлично работает на моем localhost, у которого MySQL хранит свои данные в метке времени UTC, которую должен работать плагин.

Однако при загрузке моего проекта на сервер появляется в нем база данных MySQL другого типа. Я получаю временную метку вроде этого: «Четверг, 24 февраля 2011 г. 16:29» с сервера, тогда как мне нужно что-то вроде этого: «2008-07-17T09: 24: 17Z»

Любая идея, как преобразовать временные метки с помощью php?

Изменить. Временные метки, хранящиеся в неправильном формате в базе данных, автоматически генерируются mysql.

Изменить 2: это поле типа «метка времени» и по умолчанию установлено значение «CURRENT_TIMESTAMP», когда строка вставлена ​​в db

Вы получаете странную строку для MySQL, уверены ли вы, что она находится в поле Datetime?

Вы можете получить временную метку UNIX (секунды с эпохи) из MySQL со следующей функцией , этот формат широко принят на нескольких платформах:

SELECT UNIX_TIMESTAMP( table.datetime_field ) as datetime_field FROM table 

Используя некоторые функции PHP, вы можете преобразовать их в желаемый формат:

 echo date( 'c', $record[ 'datetime_field' ] ); 

Я думаю, этого будет достаточно для вашей проблемы.

SELECT UNIX_TIMESTAMP('your_date') AS your_date; в запросе и
$date('whatever_format', $timestamp_from_mysql); в php

Внутри [колонка timestamp MySQL] [1] сохраняется как [UTC] [2], но при выборе даты MySQL автоматически преобразует ее в текущий часовой пояс сеанса.

При хранении даты MySQL будет считать, что дата находится в текущем часовом поясе сессии и конвертирует его в UTC для хранения.

Чтобы выбрать столбец временной метки в формате UTC

независимо от того, в какой временной зоне находится текущий сеанс MySQL:

 SELECT CONVERT_TZ(`timestamp_field`, @@session.time_zone, '+00:00') AS `utc_datetime` FROM `table_name` 

Вы также можете установить часовой пояс или глобальный или текущий часовой пояс сессии в UTC, а затем выбрать временную метку:

 SELECT `timestamp_field` FROM `table_name` 

Я сделал чит-коды здесь: Должен ли MySQL установить часовой пояс в UTC?