PHP:根据用户的时区显示时间

标签 php timezone

我想知道是否有办法在 php 中获取用户的时区,然后根据查看者的时区显示时间。我知道它可以在 javascript 中完成,但我想要一个在 php 中的解决方案。我进行了很多搜索,但找不到完成这项工作的方法。

所以基本上假设时间是 8:30 GMT+0530。它在印度时区,我希望如果用户在纽约查看它,那么它应该是 21:30。

最佳答案

如果您在注册时添加了用户 Timezone 或者您知道用户 Timezone,那么您可以试试这个...

$users = [
    [
        'username' => 'foo',
        'timezone' => 'America/Los_Angeles'
    ],
    [
        'username' => 'bar',
        'timezone' => 'America/New_York'
    ]
];

foreach ($users as $user) {
    date_default_timezone_set($user['timezone']);
    echo $user['username'] . ' date and time is ' . date('Y-m-d H:i:s') . '<br />';
}

输出

foo time is 2013-02-28 18:13:49
bar time is 2013-02-28 21:13:49

您还可以在 JavaScrpt 中使用时区 Getting the client's timezone in JavaScript .发出 Ajax 请求并保存在 PHP session 或数据库中。

关于PHP:根据用户的时区显示时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149186/

相关文章:

php - 更新 wordpress 时解析错误 : syntax error, 意外 T_FUNCTION

php - 从 bootstrap 动态字段向 mysql 表插入数据

php - 如何用PHP显示本地时间

datetime - 将时间转换为 UTC vbScript

linux - linux的timezone文件是不是一直在/usr/share/zoneinfo?

java - tzupdater 在 2020b 和 2020c 中失败

php - 如何在 TIC-Tac-Toe 游戏 (X0) php 中使用 miniclip 算法

php - 在 PHP 中对 MySQL 结果进行排序......?

PHP 套接字 GET 请求

Python - 以秒为单位获取UTC偏移量