2016-05-04 20 views
0

时间戳保存在数据库中2016年5月4日14时54分十八秒 - UTC

global $wpdb; 

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

$设备返回2016-05时间戳-04 09:54:18(这是本地时间戳) - 不知道为什么会发生这种情况。

  • 使用甲基苯丙胺
  • 使用PHP 5.6.10
+0

难道是改变你的[时区为UTC]溶液(https://wordpress.org/support/topic/timezone-utc-gmt-settings-in-wordpress)?否则wordpress会一直尝试使用您当地的时区。如果您不想更改参数,则可以使用本地php日期函数将接收时间始终更改为UTC。 – 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值回来。它似乎在自动转换。 –

相关问题