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

Nir*_*Ram 8 php timezone

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

所以基本上假设时间是GMT + 0530的8:30.它在印度时区我想要如果用户在纽约看到这个,那么它应该是21:30.

Mad*_*ota 6

如果您在注册时添加了用户时区,或者您知道用户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 />';
}
Run Code Online (Sandbox Code Playgroud)

产量

foo time is 2013-02-28 18:13:49
bar time is 2013-02-28 21:13:49
Run Code Online (Sandbox Code Playgroud)

您还可以在JavaScrpt中使用 Timezone在JavaScript中获取客户端的时区.发出Ajax请求并保存在PHP会话或数据库中.

  • 它是静态的,用于演示.当然,您不会将用户编写到数组中. (4认同)
  • 这是静态和无用的,您必须获取用户的信息并按他们设置时区 (2认同)