php - 根据不同国家/地区的用户计算机时间在网站上显示日期/时间

标签 php mysql timezone

我正在开发网站应用程序的聊天信使。对于我的概念,我避免使用时区。

当用户发布消息时,我使用 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/

相关文章:

php - Cron sessionclean 错误 : find: `/proc/xxxxx/fd' : No such file or directory

php - 在 Visual Studio Code 中为 PHP 重命名重构

php - 在调用类内部的方法之前如何计算该方法的参数?

python - 如何使用sql数据库中的列值作为python函数的参数?

sql - 我该如何优化这个查询?

c++ - 在 C/C++ 中在本地时间和 GMT/UTC 之间转换

php - Symfony2 access_control 与 i18n 路由

mysql - 这个Mysql查询有什么问题

Windows 7 上的 Mysql 时区未更新

node.js - 如果不使用 TZ 环境变量, Node 如何确定时区?