2012-04-05 106 views
1

我正在尝试使用mysql条目的时间戳,但它显示为20小时后。mysql/php时区问题

当我键入以下到mysql命令行正确的时间显示(这是目前8:15 PM东区)

SELECT NOW(); 

当我提交的东西到使用以下我的数据库,一切都只是正确的时间显示为上午12:15。

date('m/d/Y,h:i:a'); 

如果有问题,我的表中的列是varchar(20)。

我也试图确定它设置为东部时区使用,但得到了一个错误说不正确的时区。

SET time_zone = 'America/New_York'; 

有没有人有一个线索,为什么我走了20个小时我DATABSE条目,但是当我用mysql命令行来查找它的正确显示时间?

回答

2

我假设这是一个PHP时区问题。你应该检查你的PHP ini文件中设置了什么时区。

[Date] 
; Defines the default timezone used by the date functions 
date.timezone = America/New_York 

您也可以设定在脚本中的时区:

ini_set('date.timezone', 'America/New_York'); 

好像你试图更改时区,在MySQL。你也应该检查你的时区设置MySQL,只是为了确保。

+0

究竟在我的脚本中,我设置了它?我使用变量$ timestamp = date('m/d/Y,h:i:a');然后输入该变量。我会在变量之前设置它吗? – user1104854 2012-04-05 00:34:34

+0

是的,只是在脚本的开头执行ini_set。 – Gohn67 2012-04-05 00:37:10

+0

要测试,只需打印日期以查看它是否在正确的时区。 – Gohn67 2012-04-05 00:37:37