似乎每次我需要在同一个脚本中处理日期时我需要重复date_default_timezone_set()

时间:2015-01-19 18:48:05

标签: php time timezone

所以,有一些我不理解的东西,或者某个时候在某处破坏。

据我所知,当我设置date_default_timezone_set时,它应该适用于整个当前脚本。但是今天早上使用一个似乎没有任何工作,直到我开始在每个调用之前调用date_default_timezone_set,例如,在同一个脚本/文件中调用date()或strtotime()函数。

我不是特别想直接更改php.ini文件,我喜欢默认将它保留为UTC。我只想为正在运行的脚本设置timezome,但我不想在几乎所有其他行上调用date_default_timezone_set!

有人可以确认它是(或不是)正常行为以及我如何尝试解决此问题?

修改

这是我需要做的事情的一个例子,以便正确地度过时间。

date_default_timezone_set('America/Montreal');
$hour_from =  get_field('hour_from', $v->ID);
date_default_timezone_set('America/Montreal');
$hour_to =  get_field('hour_to', $v->ID);
date_default_timezone_set('America/Montreal');
$hour_from_norm = strtotime($hour_from);
date_default_timezone_set('America/Montreal');
$hour_to_norm = strtotime($hour_to);

1 个答案:

答案 0 :(得分:1)

所以,我在某个地方使用来自Wordpress的文件,并没想到它会将时区重置为UTC。但确实如此。

在@joren确认之后逐行搜索我应该只设置它一次让我走到正确的发现轨道。谢谢!