在做一些关于时区的研究时,我在GeoNames论坛上发现了这个有趣的帖子:
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&液化天然气= 4.774491):
rawOffset = 1
dstOffset = 2
gmtOffset = 1, indacting that daylight saving time is in use in July.
这也不是我第一次看到rawOffset
,这个SO的答案(在Java中)也依赖于它。
我的目标是使用原始偏移量来构建一个时区下拉菜单,显示每组城市的UTC偏移量,现在我列出了时区的所有转换并使用非dst偏移量,但我上面提到的帖子表明这对南半球是错误的。
编辑:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/TimeZone.html getRawOffset % 28% 29日
来自GeoNames的Marc告诉我他们通过使用Java方法获得原始偏移量。
任何Java向导都知道他们是怎么做的?或者我可以在哪里浏览他们的getRawOffset()
源代码?
关于如何在PHP中获得原始偏移量的任何想法?
不清楚为什么需要原始偏移量
在PHP中,给定一个时间+位置,您可以实例化一个DateTime
对象,然后调用它的getOffset()
方法来计算当前时区偏移。迭代不同的位置,这应该是所有你需要得到下拉菜单,不是吗?
见http://www.php.net/manual/en/datetime.getoffset.php