UTC是否遵守夏令时?
我想写一个脚本,我想要将任何时区转换为UTC
并反向。 但是从一些我知道在将Dzone时间转换为UTC
时,它会给出相同的UTC
时间。 例如: 如果我尝试转换这一个:UTC是否遵守夏令时?
$mytime = '2011-03-31 05:06:00.000';
$myzone = 'America/New_York';
与DST和DST没有,我会得到UTC ..
(New_York->UTC DST=Yes)2011-03-31 09:06:00
(New_York->UTC DST=No)2011-03-31 09:06:00 ..........
这是corect?如果是的话,为什么? ?? 请有人给我你的答案。
不,UTC本身从来没有DST。它是恒定的参照系,其他时区是相对于。
UTC不随季节的变化而变化,但如果一个时区管辖实行夏令时还是夏天当地时间或民事的时间可能会改变。例如,UTC在美国东海岸的冬季时间比当地时间提前5小时,但在夏季提前4小时。
换句话说,当一个时区观察DST,其从UTC偏移时,有一个DST转换,但是这该时区观察DST,不UTC变化。
不知道有关PHP时区处理的知识很多,我觉得你可以在转换中指定“with DST”或“without DST” - 时区本身指定DST在何时开始时......它不应该“你必须是你自己指定的东西。
“在不了解PHP时区处理知识的情况下,我觉得您可以在转换中指定'with DST'或'without DST'”,这很可能是因为您没有编写多少可编程超链接意大利面。这是一种内置'date_sunrise'函数的语言,告诉你什么时候太阳升起。我不确定DST是否需要转换,但它是日期对象的头等公民:http://php.net/manual/en/function.date.php。 – 2014-07-16 18:45:54
@PaulDraper:作为日期对象的头等公民会产生一定的意义 - 只是没有为转换单独指定它。然后,我已经了解了一些底层C例程,我怀疑他们有很多与此有关的事情...... – 2014-07-16 19:17:04
我认为可以问问它是否为DST。没有额外的信息,人们无法从本地时间+时区移动到明确的UTC时间。这是因为有些本地时间在DST转换期间出现两次。 – Tom 2015-01-11 22:59:42
我有同样的问题,使用此代码:
date_default_timezone_set('UTC');
$nowdate = date('l jS \of F Y h:i:s A');
echo "Current date and time is: " . $nowdate;
现在是夏天,现在,这个代码产生的时间是一个小时的背后 - 所以我不认为在PHP UTC时间调整为DST。
是有趣的,看看是否有人有解决方案......
编辑:
发现在一个论坛上的代码,完美的作品!
date_default_timezone_set('Europe/London');
$TIME = date("m/d/Y H:i",time());
因此,您可以使用$ TIME调用当前日期和时间。 可以通过更改date()标记内的位来调整输出,以便以不同的方式显示它。 如果要调整的日期()输出,使用本指南:如果您向我们展示脚本http://php.net/manual/en/function.time.php
希望这有助于:)
,我们可以帮你更好一点。 – 2011-03-31 05:54:29
而且,在回答您的标题问题时,没有UTC不遵守夏令时;但是,其他区域可能。 – 2011-03-31 05:55:12