@khwarizmi The only thing you can calculate from Lat/Long is Local Mean Time (LMT) based on Longitude offset from UTC..... That is midday when the sun reaches it's zenith at any point on the earth. LMT is only useful for calculating Sunrise/Sunset and other nautical/celestial events.
Some countries have adopted local time offsets from GMT in one hour steps, some X hours and 30 mins, some X hours and 15 minutes. Many countries adopt Daylight Savings Time in winter, but the dates vary between countries. Some countries do not change the clocks at all. China, for instance, spans 60°+ of longitude which gives a LMT span of 4 hours, yet observes GMT+8 across the whole country all year round. (1 hour LMT change = 15° of longitude)
There is probably a database somewhere where you can query a Lat/Long position and find out what country you are in. You could compile a database of countries with their GMT offsets and DST changing dates but as countries vary their DST dates all the time, keeping the database maintained would be a nightmare!
I take your point about internet availability but to me the Google Time Zone API seems like the only workable solution.
Time Zone API