时区原始偏移量

时间:2011-10-19 14:42:43

标签: java php date time timezone

在对时区进行一些研究时,我发现了interesting post on the GeoNames forum

rawOffset gives the fixed timezone.
dstOffset gives the civil time offset from GMT on July 1st
gmtOffset gives the civil time offset from GMT on January 1st

  

在南半球,例如智利   (http://ws.geonames.org/timezone?lat=-33.46912&lng=-70.641997)我们有   以下值:

rawOffset = -4 indicating the timezone
dstOffset = -4
gmtOffset = -3, which means that daylight saving time is in use in January.

  

在北半球,以荷兰为例   (http://ws.geonames.org/timezone?lat=51.589322&lng=4.774491):

rawOffset = 1
dstOffset = 2
gmtOffset = 1, indacting that daylight saving time is in use in July.

这不是我第一次看到rawOffsetthis SO answer(在Java中)也依赖它。

我的目标是使用原始偏移来构建一个时区下拉菜单,显示每组城市的UTC偏移,现在I'm listing all the transitions for the timezone并使用非DST偏移量,但我上面提到的帖子表明这对南半球来说是错误的。


编辑: http://download.oracle.com/javase/1.4.2/docs/api/java/util/TimeZone.html#getRawOffset%28%29

来自GeoNames的Marc告诉我,他们通过使用Java方法得到原始偏移量。

任何Java向导都知道他们是如何做到的?或者我可以在哪里浏览getRawOffset()的源代码?


关于如何在PHP中获取原始偏移的任何想法?

1 个答案:

答案 0 :(得分:0)

目前尚不清楚为什么需要原始偏移。

在PHP中,给定时间+位置,您可以实例化DateTime对象,然后调用其getOffset()方法来计算当前时区偏移量。迭代不同的位置,这应该是获取下拉菜单所需的全部,不是吗?

请参阅http://www.php.net/manual/en/datetime.getoffset.php