Save the date! Android Dev Summit is coming to Sunnyvale, CA on Oct 23-24, 2019.
Added in API level 1

TimeUtils

public class TimeUtils
extends Object

java.lang.Object
   ↳ android.util.TimeUtils


A class containing utility methods related to time zones.

Summary

Public methods

static TimeZone getTimeZone(int offset, boolean dst, long when, String country)

Tries to return a time zone that would have had the specified offset and DST value at the specified moment in the specified country.

static String getTimeZoneDatabaseVersion()

Returns a String indicating the version of the time zone database currently in use.

static List<String> getTimeZoneIdsForCountryCode(String countryCode)

Returns time zone IDs for time zones known to be associated with a country.

Inherited methods

Public methods

getTimeZone

Added in API level 1
public static TimeZone getTimeZone (int offset, 
                boolean dst, 
                long when, 
                String country)

Tries to return a time zone that would have had the specified offset and DST value at the specified moment in the specified country. Returns null if no suitable zone could be found.

Parameters
offset int

dst boolean

when long

country String

Returns
TimeZone

getTimeZoneDatabaseVersion

Added in API level 3
public static String getTimeZoneDatabaseVersion ()

Returns a String indicating the version of the time zone database currently in use. The format of the string is dependent on the underlying time zone database implementation, but will typically contain the year in which the database was updated plus a letter from a to z indicating changes made within that year.

Time zone database updates should be expected to occur periodically due to political and legal changes that cannot be anticipated in advance. Therefore, when computing the UTC time for a future event, applications should be aware that the results may differ following a time zone database update. This method allows applications to detect that a database change has occurred, and to recalculate any cached times accordingly.

The time zone database may be assumed to change only when the device runtime is restarted. Therefore, it is not necessary to re-query the database version during the lifetime of an activity.

Returns
String

getTimeZoneIdsForCountryCode

public static List<String> getTimeZoneIdsForCountryCode (String countryCode)

Returns time zone IDs for time zones known to be associated with a country.

The list returned may be different from other on-device sources like TimeZone.getRegion(String) as it can be curated to avoid contentious mappings.

Parameters
countryCode String: the ISO 3166-1 alpha-2 code for the country as can be obtained using Locale.getCountry() This value must never be null.

Returns
List<String> IDs that can be passed to TimeZone.getTimeZone(String) or similar methods, or null if the countryCode is unrecognized