我有一个带有Mysql数据库的PHP项目。问题是时间相关数据根据我的要求显示有误。
我希望将时区设置为 “时区Port Louis,毛里求斯GMT + 04:00” 。
如何更新时区,以便数据库中的每个数据都显示Mauritius
时区?以及在哪里更新时区?
如果我更改了时区,已经插入的数据会自动更新吗?否则如何更新数据库中每个记录的时区?
答案 0 :(得分:3)
通常最好将服务器保持在UTC状态,以使安全日志在计算机之间对齐。
在数据库中存储时间戳时,建议使用包含时区的时间戳字段。这意味着服务器使用的时区是不相关的。
另外,请注意,时间转换通常由SQL客户端根据运行SQL客户端的计算机的区域设置来执行。这通常会导致混乱,因为在SQL客户端中输出中看到的时间实际上与存储在列中的时间不匹配。 (一种测试方法是将字段强制转换为Text字段,以查看该字段中的“原始”值,而无需SQL客户端对其进行转换。)
我曾在一家公司中工作,该公司曾经将其服务器设置为公司所在的时区,但是随着公司规模的扩大以及他们在多个位置拥有服务器,这成为了一个问题。因此,最好将所有计算机都保留在UTC中,并特别在显示它们时转换时间。
答案 1 :(得分:2)
您有3种解决方案: