php - 在php中根据时区计算时间

标签 php mysql datetime

我的系统中的员工在其个人资料中具有不同的时区。我想根据指定的时区显示日期。 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/

相关文章:

php - 试图在 html 文本字段中显示 mysql 数据

datetime - 使用 Play Framework 中的 YAML 文件将初始数据保存为日期格式(如 2012-02)

php - MySql 中的帐户过期

php - 将变量从数组解析到方法

mysql - 在 MySQL 中选择列为 0 的时间段之间的时间戳值

mysql - 如何在 Crystal 报表中左连接mysql?

ruby-on-rails - 编写事件装饰器 DRY

php - 给出遥远 future 年份的 Unix 时间戳

php - 找不到 Laravel 5 函数 ()

php - js+php实时图像裁剪