我正在开发网站应用程序的聊天信使。对于我的概念,我避免使用时区。
当用户发布消息时,我使用 php 获取当前服务器日期/时间并将其保存到数据库中。
要向用户显示所有消息的时间,我只需要找出服务器时间和用户系统时间之间的差异即可。假设不同的是 3 小时,我只需要使用 mysql 从数据库中检索记录的服务器时间,然后将其加上 3,例如:$message-time-display = $server-time-of-message-posted + $different.
对于这个解决方案,虽然用户的计算机时间可能不正确,但不会影响保存在我的数据库中的时间记录。当用户更正他们的计算机时间时,它会显示正确的时间。这个解决方案可靠吗?如果是这样,为什么没有人这样做?为什么这么多人使用 GMT 或时区之类的东西?也许我错过了一些重要的问题?
最佳答案
一个快速解决方法是不显示确切时间,而是显示耗时。例如:2 分钟前
然后……
由于您知道耗时,因此可以从用户当前时间中减去该时间。 您可以使用 javascript 获取用户当前时间。
var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
关于php - 根据不同国家/地区的用户计算机时间在网站上显示日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600117/