我正在从服务器时间(印度)存储用户 viewdatetime 列,我想根据用户所在国家/地区转换此时间。我可以按此步骤获取用户所在国家/地区和一些详细信息
Getting visitors country from their IP
你能给我一些建议吗
答案 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个不同的时区。加拿大有六个区域。
此区域的最佳做法是允许每个注册用户指定自己的时区偏好设置,并在您自己的时区显示未注册的用户日期和时间。