While doing some research on timezones I found this 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
On the southern hemisphere, for example for Chile (http://ws.geonames.org/timezone?lat=-33.46912&lng=-70.641997) we have the following values:
rawOffset = -4 indicating the timezone
dstOffset = -4
gmtOffset = -3, which means that daylight saving time is in use in January.
On the northern hemisphere, for the Netherlands for example (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.
This is not the first time I saw rawOffset either, this SO answer (in Java) also relies on it.
My objective is to use the raw offset to build a timezone drop-drop menu showing the UTC offsets for each group of cities, right now I'm listing all the transitions for the timezone and using the non-DST offset, but the post I mentioned above suggests that it's wrong for the southern hemisphere.
EDIT: http://download.oracle.com/javase/1.4.2/docs/api/java/util/TimeZone.html#getRawOffset%28%29
Marc from GeoNames told me that they get the raw offset by using that Java method.
Any Java wizard knows how they do it? Or where I can browse their source-code of getRawOffset()?
Any ideas on how I can get the raw offset in PHP?