【发布时间】:2013-06-18 00:29:54
【问题描述】:
感谢阅读。
只需要知道我如何将从 gmtime 中的 sql 表中获取的日期时间转换为用户时区中的日期时间。
以下是我的代码,但似乎不起作用..
//WHERE $post_arr[5] is date from sql
$user_date=convert_date_for_user($post_arr[5]);
function convert_date_for_user($date_time){
$user = JFactory::getUser();
$db = JFactory::getDBO();
$timezone=$user->getParam('timezone');
echo $tz_offset;
$user_date = JFactory::getDate($date_time,$timezone);
$user_date_str = $user_date->toUnix(true);
return $user_date_str;
}
它可以转换,但我从上面的代码中得到了所有错误的时间。
【问题讨论】:
-
你确定数据库中存储的时间是gmtime吗?你检查过几个值吗?时区非常棘手。 Joomla 可能正在使用您的服务器时间,这可能不是 GMT。
-
是的。我检查了。显示的时间是 -6 GMT,而不是我的用户时区设置,新加坡应该是 +8。在我的数据库中,我将时间格式输入为 gmtime("Y-m-d H:i:s")
标签: php datetime joomla time timezone