UTC是否遵守夏令时?

000*_*001 78 php time dst

我正在尝试编写一个脚本,我想将任何时区转换为UTC和反转.但是在某些我知道的情况下,在将任何时区转换为UTC 有或没有DST考虑时,它将给出相同的UTC时间.例如:如果我尝试转换这个:

$mytime = '2011-03-31 05:06:00.000';
$myzone = 'America/New_York';
Run Code Online (Sandbox Code Playgroud)

与DST和没有夏令时的UTC,我会得到..

(New_York->UTC DST=Yes)2011-03-31 09:06:00
(New_York->UTC DST=No)2011-03-31 09:06:00 ..........
Run Code Online (Sandbox Code Playgroud)

这是核心?如果是,那么为什么??? 请有人给我你的答案.

Jon*_*eet 127

不,UTC本身从来没有DST.它是相对于其他时区表示的恒定参照系.

维基百科UTC页面:

UTC不会随着季节的变化而变化,但如果时区管辖区域遵守夏令时或夏令时,则当地时间或民用时间可能会发生变化.例如,在冬季,UTC比美国东海岸当地时间提前5小时,但夏季提前4小时.

换句话说,当一个时区观察到DST时,它与UTC的偏移会在DST转换时发生变化,但那个时区是观察DST而不是UTC.

在不了解PHP时区处理的情况下,我似乎很奇怪您可以在转换中指定"with DST"或"without DST" - 时区本身指定DST何时启动...它不应该是你自己指定的东西.

  • “在不太了解 PHP 时区处理的情况下,您可以在转换中指定“带 DST”或“不带 DST”,这对我来说似乎很奇怪”...这可能是因为您还没有做过太多的可编程超链接面食。这是一种带有内置“date_sunrise”函数的语言,可以告诉您太阳何时升起。我不确定转换是否需要 DST,但它是日期对象的一等公民:http://php.net/manual/en/function.date.php。 (2认同)