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

Seems I need to repeat date_default_timezone_set() each time I need to work with dates withing the same script

所以,要么是我不明白,要么是某处有问题。

据我了解,当我设置 date_default_timezone_set 时,它应该适用于整个当前脚本。但是今天早上使用一个,似乎没有任何效果,直到我开始调用 date_default_timezone_set 之前 each 调用,例如 date() 或 strtotime() 函数在同一个 script/file.

我不是特别想直接改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);

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

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