Obtaining Time zone in android
Is there a way to obtain the time zone from the callbacks received
void onLocationChanged(Location location)
开发者_如何学JAVAusing the time information that can be obtained from the location parameter
long Time = location.getTime();
Or if there is another way please provide info!
You can use web service provided by the geonames.org. Supply latitude and longitude to get the time zone information.
http://ws.geonames.org/timezoneJSON?lat=47.01&lng=10.2:
{"time":"2010-07-24 18:35","countryName":"Austria","sunset":"2010-07-24 21:02","rawOffset":1,"dstOffset":2,"countryCode":"AT","gmtOffset":1,"lng":10.2,"sunrise":"2010-07-24 05:48","timezoneId":"Europe/Vienna","lat":47.01}
You can use java.util.TimeZone to get information about the current time zone by calling TimeZone.getDefault(), like:
java.util.TimeZone tz = java.util.TimeZone.getDefault();
Toast.makeText(context, tz.getDisplayName(), Toast.LENGTH_LONG).show();
TimeZone tz = TimeZone.getDefault();
System.out.println("TimeZone "+tz.getDisplayName(false, TimeZone.SHORT)+" Timezon id :: " + tz.getID());
OutPut
TimeZone GMT+09:30 Timezon id :: Australia/Darwin
精彩评论