2016-05-04 4 views
0

Отметка сохраняется в базе данных 2016-05-04 14:54:18 - UTC

global $wpdb; 

$sql = "SELECT * FROM " . $this->table_name; 
$devices = $wpdb->get_results($sql, ARRAY_A); 

$ устройства возвращает метку 2016-05 -04 09:54:18 (это местная временная метка) - не знаю, почему это происходит.

  • Использование MAMP
  • Использование PHP 5.6.10
+0

Будет ли это решение изменить [часовой пояс по Гринвичу] (https://wordpress.org/support/topic/timezone-utc-gmt-settings-in-wordpress)? В противном случае wordpress всегда будет пытаться использовать ваш часовой пояс. Если вы не хотите изменять свой параметр, вы всегда можете изменить полученное время на UTC, используя собственные функции даты php. – Random

+0

Часовой пояс в БД - UTC. Функции php находятся в UTC. Почему он конвертирует UTC в локальный, где моя путаница –

ответ

1

Если иметь значение SQL INSERTed как UTC_TIMESTAMP (а не только TIMESTAMP). Когда вы делаете свой запрос SELECT, используйте CONVERT_TZ(dt, from, to), где dt может быть любым, что имя этого столбца, from может быть «UTC», а to может быть «Мумбаи, Индия» (или любой другой часовой пояс, в который вы хотите конвертировать).

SELECT CONVERT_TZ(date_entered, 'UTC', 'Dublin, Ireland') FROM tablename

+0

Это временная метка UTC в моей базе данных. Не следует ли мне вернуть значение UTC. Кажется, он автоматически конвертируется. –

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