可以将我的php应用程序中的时区设置为除应用程序的实际位置之外的其他内容吗?

时间:2013-03-26 14:11:44

标签: php mysql lamp

我有一个我支持的遗留php应用程序,我们正在将此应用程序从位于中西部(CST)的托管服务提供商转移到我们位于东海岸(EST)的本地网络。我注意到,当我移动应用程序时,许多日期和时间都不正确。这是一个调度/日历应用程序,它使用存储在db(mysql)中的unix时间戳。我发现如果我将date_default_timezone_set('America/Chicago');添加到应用程序配置文件中,那么一切都很好。我通过向应用程序添加新数据进行了一些测试,一切似乎都很好。我的问题是,将应用程序的默认时区设置为America / Chicago是否可以,即使它在EST中运行?如果我这样做,将来我可能会遇到什么后果?

2 个答案:

答案 0 :(得分:1)

最好在操作系统中设置时区,这样就不会遇到任何冲突。 MySQL现在不同意时区,如果你有使用MySQL的日期函数的查询可能会有问题。或任何其他操纵日期的软件,例如电子邮件。

答案 1 :(得分:0)

始终建议在存储数据时使用GMT日期时间并在重新搜索后将其转换为所需的时区。

在你的情况下,在php中设置默认时区会起作用,但是当你的一些查询使用now()或CURRENT_TIMESTAMP时它会失败。如果可能,请将机器时区更改为CST以避免任何未知问题。