我有一个我支持的旧版 php 应用程序,我们正在将此应用程序从位于中西部 (CST) 的托管提供商移动到我们在东海岸 (EST) 的本地网络。当我移动应用程序时,我注意到许多日期和时间都不正确。这是一个调度/日历应用程序,它使用存储在 db (mysql) 中的 unix 时间戳。我发现如果我添加date_default_timezone_set('America/Chicago');
到应用程序配置文件中,那么一切都很好。我通过向应用程序添加新数据进行了一些测试,一切看起来都很好。我的问题是,是否可以将应用程序的默认时区设置为 America/Chicago,即使它在 EST 中运行?如果我这样做了,我将来会面临什么影响?
问问题
59 次
2 回答
1
您最好在操作系统中设置时区,这样您就不会遇到任何冲突。MySQL 现在不会就时区达成一致,如果您有使用 MySQL 日期函数的查询,这可能会出现问题。或为您处理日期的任何其他软件,例如电子邮件。
于 2013-03-26T14:14:56.713 回答
0
始终建议在存储数据时使用 GMT 日期时间,并在检索后将其转换为所需的时区。
在您的情况下,在 php 中设置默认时区将起作用,但当您的某些查询使用 now() 或 CURRENT_TIMESTAMP 时,它将失败。如果可能,将机器时区更改为 CST 以避免任何未知问题。
于 2013-03-26T14:17:42.580 回答