如何将印度标准时间转换为用户时区

时间:2016-09-13 18:17:08

标签: php mysql

我正在从服务器时间(印度)存储用户 viewdatetime 列,我想根据用户所在国家/地区转换此时间。我可以按此步骤获取用户所在国家/地区和一些详细信息 Getting visitors country from their IP

你能给我一些建议吗

2 个答案:

答案 0 :(得分:0)

最好的方法是使用moment.js库(http://momentjs.com/)并从其多语言环境支持中受益。 你应该在客户端(因此是JavaScript)而不是服务器端(PHP)处理这些东西。我希望这个答案很有用。

答案 1 :(得分:0)

我猜您的viewdatetime列是DATETIME数据类型。如果这是真的,那么CONVERT_TZ() function将证明是有帮助的。例如,如果您的用户的时区为Australia/Canberra,则可以执行此操作:

 SELECT CONVERT_TZ(viewdatetime, 'Asia/Dili', 'Australia/Canberra');

但是,当然你必须使用公共API从ip地址猜测用户的时区。了解这个国家还不够。

印度有一个国家时区。澳大利亚有四个。美国有一套关于夏令时的混乱的当地规则,这意味着大约有12个不同的时区。加拿大有六个区域。

此区域的最佳做法是允许每个注册用户指定自己的时区偏好设置,并在您自己的时区显示未注册的用户日期和时间。