海
我的系统中的员工在其个人资料中具有不同的时区。我想根据指定的时区显示日期。 GMT 时区值放置在数据库中。 你们能帮我吗
最佳答案
假设您的服务器位于美国,并在数据库中存储日期为美国本地 GMT -7。
因此,您发送本地偏移量 -7 和员工所在国家/地区的偏移量,假设在欧洲某个地方 +2。
所以基本上您只需要知道 -7 -2 是什么及其 9 小时偏移量,因此您存储在数据库中的每个日期都必须添加 9 小时来代表欧洲的时间。
这将计算偏移量:
fnGetOffset($source_gmt_offset ,$fltGmtOffset)
{
$intGmtOffest = $source_gmt_offset - $fltGmtOffset;
if($intGmtOffest <> 0)
{
return $intGmtOffest;
}
}
计算偏移量后,您只需从数据库获取日期并将偏移量添加到其中。
像这样:
$intUnixTimeStamp += $intGmtOffest*60*60;
所以这是使用 PHP 执行此操作的正确方法。
如果你想根据用户选择的时间查询服务器,则需要返回 -9 。
关于php - 在php中根据时区计算时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2452480/