使用date_default_timezone_set后,时区不会更改

时间:2014-01-12 09:31:31

标签: php datetime timezone

我正在使用以下网址为我的页面设置默认时区:

date_default_timezone_set("America/Los_Angeles");

我必须在那里设置它,因为我的服务器不允许我改变php.ini文件或.htaccess。问题是,当我使用它时:

NOW()

将当前时间发送到我的数据库,它仍然将其作为UTC时区发送。

我要做的是显示用户在页面上的评论框中显示的评论,并且现在显示错误时区中每条评论的时间。

2 个答案:

答案 0 :(得分:1)

date_default_timezone_set是一个PHP函数。它只会影响PHP的行为。

NOW()是一个数据库函数,在PHP中更改时区对它没有影响。 NOW()YYYY-MM-DD HH:MM:SS格式返回。

time()是等效的PHP函数。 time()只返回自Unix Epoch以来的秒数。要以与NOW()相同的格式获取输出,请使用date("Y-m-d H-i-s");。这会自动使用下面的time()来获取当前系统时间。

了解更多:

答案 1 :(得分:0)

来自手册

  

date_default_timezone_set - 设置脚本中所有日期/时间函数使用的默认时区

因此,使用date_default_timezone_set函数只会影响这些函数。您应该改为使用time()