I want to write a program that takes input as latitude and longitude of a particular place and gives output as that place country GMT offset. I have done gmt=longitude/15. example: (Chicago) latitude=41.85N, longitude =-87.65W , GMT= -87.65/15 =>-5.8 but chigago actual GMT is GMT-5(this is country based). so how can i decide that which range of lat and longs comes under which country?and how to get Actual GMT. Its not the rounding problem, if i round that to -6 ,then that is GMT offet for other country.. is there any java api's to find location, based on lat longs?? please help me.