As far as I can tell everything you need to calculate local times for your users is there.
Get your servers time by javascript, php or whatever. Convert to say GMT. So if your server were in Barbados, using the data in 'time_zones', you would take 4 hours off.
Now if your user was in Antarctica/Davis you add 7 hours on as specified in gmt_offset.
What about the date the DST starts & ends? for example in north america the Daylight Saving Time are to be turned forward by one hour on the second Sunday in March and turned back on the first Sunday of November.
How do I know these dates for each country or city in the world?
The daylight saving time rules are rather complex and not topic of the GeoNames project. Most applications and programming environments use the "tz database":
http://www.twinsun.com/tz/tz-link.htm In java for instance this information is already included in the standard edition, try to find how to access the tz database from your favourite programming environment.