如何将从SQL数据库表中提取的时间戳回显到用户的时区中?


How can I echo out a timestamp pulled out from an SQL database table to be in the user's timezone?

我有用户通过在我的网站上提交表单创建的记录。当它们创建一条记录时,默认情况下还会创建一个时间戳来解释记录的创建时间。据我所知,他们都在UTC/GMT时间,比我的EST时区晚4个小时。当我循环遍历记录并将它们回显到一个表中时,我希望时间戳显示用户登录的时间。有没有简单的方法来改变时间戳的变量?

PHP中:

date('Y-m-d H:i:s',strtotime('-4 hours',strtotime(TIME_FROM_DB)));

查看更多关于date() &Strtotime()参见http://php.net/manual/de/

在MYSQL:

 SELECT DATE_ADD(time_field, INTERVAL 31 DAY);

SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');

http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html function_adddate

希望帮助

在PHP中使用date_default_timezone_set('US/Eastern');将把代码的时区转换为该时区。

当您在sql查询中使用NOW()查询数据库时(或在PHP中使用$currentTime = date('Y-m-d H:i:s', time());,并插入$currentTime),它将插入上述定义的时区的时间。