【发布时间】:2011-06-23 17:35:13
【问题描述】:
在 Joomla 中,我已正确地将我的时区设置为东部时间。我正在使用 xampp 在本地运行我的服务器。我可以在我的 php.ini 中看到我的 date.timezone 设置为 America/New_York,也是东部时间。但是,不知何故,每当在 Joomla 中修改任何内容时,数据库中出现的修改时间都会提前 5 小时。
【问题讨论】:
在 Joomla 中,我已正确地将我的时区设置为东部时间。我正在使用 xampp 在本地运行我的服务器。我可以在我的 php.ini 中看到我的 date.timezone 设置为 America/New_York,也是东部时间。但是,不知何故,每当在 Joomla 中修改任何内容时,数据库中出现的修改时间都会提前 5 小时。
【问题讨论】:
我不深入了解 Joomla,但这看起来像是 by design:
时间偏移:标识网站运行的时区。在网站位置和 UTC(世界协调时间 - 以前称为 GMT(格林威治标准时间))之间的时间偏移以小时 +/- 设置。从下拉列表中选择时区。
Joomla 似乎在内部存储 UTC 日期,并在输出数据时计算差异。因此,除非在 前端 中可见错误的日期,否则我认为这很好。
【讨论】:
Datetime:$date = new DateTime(null, new DateTimeZone('UTC')); 一起工作。但是,似乎在 Joomla 的某个地方设置了“内部时区”——很难从网络结果中分辨出来。也许值得研究一下配置。请记住在更改任何内容之前进行数据库备份
您的 MySQL 时区可能已关闭。每当您的脚本调用像 NOW() 这样的 MySQL 日期/时间函数时,它将使用 MySQL 时间。您可以通过运行此查询SELECT @@global.time_zone, @@session.time_zone; 查看当前时区的设置。
【讨论】: