固定(MySQL)时间转换为客户端的时间

时间:2012-02-23 11:39:29

标签: php time

我在从sql数据库检索到的php页面上有一个时间列表。

我想做的就是根据客户端和服务器时间之间的偏差来改变时间,无论客户端在世界的哪个位置。

因此,客户在世界上的地位会影响他所看到的时间。

2 个答案:

答案 0 :(得分:0)

如果您想在用户的时区中显示时间,您需要知道她所在的时区。例如,通过她设置的选项/偏好设置。

那段时间通常被称为“当地时间”。

然后,您需要知道在数据库中存储值的时区。通常选择UTC,然后是“祖鲁时间”。

从数据库(zulu)检索时间时,您可以根据用户首选项(本地)转换时区。就是这样。

另见

答案 1 :(得分:0)

  1. 使用地理IP模块通过其IP(geoip_record_by_name()然后geoip_time_zone_by_country_and_region())识别您的客户时区。
  2. 使用date_default_timezone_set()设置PHP脚本的时区。它会使日期函数转换为正确的时区,但是您需要将日期作为MySQL的TIMESTAMP获取(使用SELECT UNIX_TIMESTAMP(date) FROM table可以轻松完成)。
  3. 您可以选择查看MySQL的TIMESTAMP类型,并告诉他即时进行转换(在查询前执行SET time_zone = [timezone])。这需要一些服务器配置。