php - 如何更改服务器时区而不影响已插入的数据?

标签 php mysql amazon-web-services server-administration

我有一个带有 Mysql 数据库的 PHP 项目。问题是根据我的要求,时间相关数据显示错误。

我希望时区应设置为“时区路易斯港,毛里求斯 GMT+04:00”

如何更新时区,以便数据库中的每个数据都显示毛里求斯时区?在哪里更新时区?

如果我更改时区,已插入的数据是否会自动更新?或者如何更新数据库中每条记录的时区?

最佳答案

通常最好将服务器保持在 UTC 格式,以便计算机之间的安全日志保持一致。

在数据库中存储时间戳时,建议使用包含时区的时间戳字段。这意味着服务器使用的时区是无关紧要的。

另请注意,时间转换通常由 SQL 客户端执行,具体取决于运行 SQL 客户端的计算机的区域设置。这通常会导致困惑,因为 SQL 客户端输出中看到的时间实际上与列中存储的时间不匹配。 (测试这一点的一个好方法是将字段转换为文本字段,以查看字段中的“原始”值,而无需 SQL 客户端对其进行转换。)

我在一家公司工作,过去将他们的服务器设置为公司所在的时区,但随着公司规模的扩大并且他们在多个地点拥有服务器,这成为了一个问题。因此,最好将所有计算机保持为 UTC,并在显示时专门转换时间。

关于php - 如何更改服务器时区而不影响已插入的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64025744/

相关文章:

javascript - 如何在将新数据附加到 window 时重新加载 jQuery 插件。没有提供 reload() 方法

php - 查询没有获得所有值

amazon-web-services - ECS 容量提供程序是否实际针对每个 ec2 实例的一项任务?

php - Symfony 变量从 Action 传递到 View

php - yii2:如何使用超棒的字体图标?

php - 防止 XSS 攻击并正确编码字符

java - 如何使用更新的 JPA 时间戳字段升级数据库?

java - 我收到很多 select @@session.tx_read_only,有人会这样做吗?

amazon-web-services - 如何使用 CLI 检索 Fargate 任务的公共(public) IP?

amazon-web-services - 无法使用 Cloudformation 创建 KMS