在我的web应用程序,如电子商务网站。每个项目都有时间限制。我会在每一个项目中显示时间的细节。我使用的是UTC时间。如何为每个用户转换当前本地时间。例如,美国有4到5个不同的时区。我使用PHP编码器和mysql为我的web应用程序
如果我是你,我会保持所有的时间在你的服务器端UTC,只转换为本地时间在客户端通过JavaScript。然而,处理客户的时间是棘手的,因为你不能真正知道他们的下班时间。
我见过3种方法:
1)使用var offset = new Date().getTimezoneOffset();
可能是以自动方式获取客户端系统时区的最佳方法。
2)尝试通过客户端IP找出时区
如果你需要在你的服务器上做时间渲染,这可能是你能做的唯一的自动方式。这是非常容易出错的,因为你的客户端可能正在使用代理,vpn等。此外,geoIP数据库可能不够准确。
3)让用户设置时区
这是为了安全起见。用户可以自行决定。您也可以将设置保存在cookie或其他文件中。
momentjs时区库可以帮助您使用这三种方法。