Calculate the Timezone difference with UTC using Java 8

1. Introduction

In this article we get the offset of the time zone to its UTC counterpart. For example : PST time zone i.e. America/Los_Angeles is 8 hours behind UTC time. So the offset is -8.

2. Content

We will use a new class called java.time.ZoneId added in Java 8. ZoneId class represents a zone for example : Europe/Paris. It also encapsulates the logic for conversion from UTC to the provided zone. There are several other features too but they are not in scope of this article.

3. Create a TimeOffset class for printing data in JSON.

Use JsonSchema2pojo website to do this. Json schema as below.

{
	"type": "object",
	"properties": {
		"zone_id": {
			"type": "string"
		},
		"current_standard_offset": {
			"type": "integer"
		}
	}
}

The JsonSchema2Pojo generates below class from the provided JSON.

package com.justamonad.tutorials.date.time;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ "zone_id", "current_standard_offset" })
public class TimeOffset {

	@JsonProperty("zone_id")
	private String zoneId;
	
	@JsonProperty("current_standard_offset")
	private String currentStandardOffset;

	@JsonProperty("zone_id")
	public String getZoneId() {
		return zoneId;
	}

	@JsonProperty("zone_id")
	public void setZoneId(String zoneId) {
		this.zoneId = zoneId;
	}

	public TimeOffset withZoneId(String zoneId) {
		this.zoneId = zoneId;
		return this;
	}

	@JsonProperty("current_standard_offset")
	public String getCurrentStandardOffset() {
		return currentStandardOffset;
	}

	@JsonProperty("current_standard_offset")
	public void setCurrentStandardOffset(
						String currentStandardOffset) {
		this.currentStandardOffset = currentStandardOffset;
	}

	public TimeOffset withCurrentStandardOffset(
						String currentStandardOffset) {
		this.currentStandardOffset = currentStandardOffset;
		return this;
	}

}

3. Print all timezone offset with UTC.

ZoneId class has an unmodifiable map called SHORT_IDS which has entries as “AET”, “Australia/Sydney”, “NST”, “Pacific/Auckland”, etc. Key is the Short zone ID value is the Long zone ID. We will then use ZoneId’s rules which has the currentStandardOffset rule already defined.

import java.time.ZoneId;
import java.util.Map;
import java.util.TreeMap;
		
Map<String, String> shortIds = new TreeMap<>(ZoneId.SHORT_IDS);
List<TimeOffset> timeOffsets = new ArrayList<TimeOffset>();

for (Map.Entry<String, String> entry : shortIds.entrySet()) {
	ZoneId zoneId = ZoneId.of(entry.getValue());
	TimeOffset timeOffset = createTimeOffset(zoneId); 
	timeOffsets.add(timeOffset);
}

String json = new ObjectMapper().writeValueAsString(timeOffsets);
System.out.println(json);
	
/**
 * zoneId.getRules().toString() looks like this so we need to process it
 * ZoneRules[currentStandardOffset=+09:30]
 */
private TimeOffset createTimeOffset(ZoneId zoneId) {
	TimeOffset timeOffset = new TimeOffset();
	timeOffset.setZoneId(zoneId.getId());
	String rules = zoneId.getRules().toString();
	timeOffset.setCurrentStandardOffset(rules.split("=")[1].replace("]", ""));
	return timeOffset;
}

We can refactor above code using stream like this:

Map<String, String> shortIds = new TreeMap<>(ZoneId.SHORT_IDS);

List<TimeOffset> timeOffsets = 
			shortIds
				.entrySet()
				.stream()
				.map(entry -> ZoneId.of(entry.getValue()))
				.map(zoneId -> createTimeOffset(zoneId))
				.collect(Collectors.toList());

String json = new ObjectMapper().writeValueAsString(timeOffsets);

System.out.println(json);

It prints below information. It can be read as the Australia/Darwin time zone is ahead of the UTC time zone by 9 hours and 30 minutes. There are a total of 28 records in below JSON.

[{
	"zone_id": "ACT",
	"current_standard_offset": "+09:30"
}, {
	"zone_id": "AET",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "AGT",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "ART",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "AST",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "BET",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "BST",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "CAT",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "CNT",
	"current_standard_offset": "-03:30"
}, {
	"zone_id": "CST",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "CTT",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "EAT",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "ECT",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "EST",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "HST",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "IET",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "IST",
	"current_standard_offset": "+05:30"
}, {
	"zone_id": "JST",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "MIT",
	"current_standard_offset": "+13:00"
}, {
	"zone_id": "MST",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "NET",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "NST",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "PLT",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "PNT",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "PRT",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "PST",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "SST",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "VST",
	"current_standard_offset": "+07:00"
}]

4. All available time zones in ZoneId.

ZoneId class has yet another method called getAvailableZoneIds(). This method returns region-based IDs. Region based zone id may have some timezone but they are differentiated based on region. For example : Asia/Kolkata and Asia/Colombo both below to same time zone which is India Standard Time but they are two different regions. 

		List<TimeOffset> timeOffsets = 
				ZoneId.getAvailableZoneIds()
					.stream()
					.sorted()
					.map(zone -> ZoneId.of(zone))
					.map(zoneId -> createTimeOffset(zoneId))
					.collect(Collectors.toList());
		String json = new ObjectMapper().writeValueAsString(timeOffsets);
		System.out.println(json);

currentStandardOffset=Z means that it falls under UTC time zone. 

It prints below information. There are a total of 589 records in below JSON.

[{
	"zone_id": "Africa/Abidjan",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Accra",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Addis_Ababa",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Algiers",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Asmara",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Asmera",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Bamako",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Bangui",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Banjul",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Bissau",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Blantyre",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Brazzaville",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Bujumbura",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Cairo",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Casablanca",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Ceuta",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Conakry",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Dakar",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Dar_es_Salaam",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Djibouti",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Douala",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/El_Aaiun",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Freetown",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Gaborone",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Harare",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Johannesburg",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Juba",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Kampala",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Khartoum",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Kigali",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Kinshasa",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Lagos",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Libreville",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Lome",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Luanda",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Lubumbashi",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Lusaka",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Malabo",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Maputo",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Maseru",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Mbabane",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Mogadishu",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Monrovia",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Nairobi",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Africa/Ndjamena",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Niamey",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Nouakchott",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Ouagadougou",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Porto-Novo",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Sao_Tome",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Timbuktu",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Africa/Tripoli",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Africa/Tunis",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Africa/Windhoek",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "America/Adak",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "America/Anchorage",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "America/Anguilla",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Antigua",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Araguaina",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Buenos_Aires",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Catamarca",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/ComodRivadavia",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Cordoba",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Jujuy",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/La_Rioja",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Mendoza",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Rio_Gallegos",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Salta",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/San_Juan",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/San_Luis",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Tucuman",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Argentina/Ushuaia",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Aruba",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Asuncion",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Atikokan",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Atka",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "America/Bahia",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Bahia_Banderas",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Barbados",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Belem",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Belize",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Blanc-Sablon",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Boa_Vista",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Bogota",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Boise",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Buenos_Aires",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Cambridge_Bay",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Campo_Grande",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Cancun",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Caracas",
	"current_standard_offset": "-04:30"
}, {
	"zone_id": "America/Catamarca",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Cayenne",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Cayman",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Chicago",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Chihuahua",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Coral_Harbour",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Cordoba",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Costa_Rica",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Creston",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Cuiaba",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Curacao",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Danmarkshavn",
	"current_standard_offset": "Z"
}, {
	"zone_id": "America/Dawson",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "America/Dawson_Creek",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Denver",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Detroit",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Dominica",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Edmonton",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Eirunepe",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/El_Salvador",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Ensenada",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "America/Fort_Wayne",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Fortaleza",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Glace_Bay",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Godthab",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Goose_Bay",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Grand_Turk",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Grenada",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Guadeloupe",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Guatemala",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Guayaquil",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Guyana",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Halifax",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Havana",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Hermosillo",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Indiana/Indianapolis",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Indiana/Knox",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Indiana/Marengo",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Indiana/Petersburg",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Indiana/Tell_City",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Indiana/Vevay",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Indiana/Vincennes",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Indiana/Winamac",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Indianapolis",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Inuvik",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Iqaluit",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Jamaica",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Jujuy",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Juneau",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "America/Kentucky/Louisville",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Kentucky/Monticello",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Knox_IN",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Kralendijk",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/La_Paz",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Lima",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Los_Angeles",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "America/Louisville",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Lower_Princes",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Maceio",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Managua",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Manaus",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Marigot",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Martinique",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Matamoros",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Mazatlan",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Mendoza",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Menominee",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Merida",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Metlakatla",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "America/Mexico_City",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Miquelon",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Moncton",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Monterrey",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Montevideo",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Montreal",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Montserrat",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Nassau",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/New_York",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Nipigon",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Nome",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "America/Noronha",
	"current_standard_offset": "-02:00"
}, {
	"zone_id": "America/North_Dakota/Beulah",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/North_Dakota/Center",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/North_Dakota/New_Salem",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Ojinaga",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Panama",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Pangnirtung",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Paramaribo",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Phoenix",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Port-au-Prince",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Port_of_Spain",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Porto_Acre",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Porto_Velho",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Puerto_Rico",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Rainy_River",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Rankin_Inlet",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Recife",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Regina",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Resolute",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Rio_Branco",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Rosario",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Santa_Isabel",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "America/Santarem",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Santiago",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Santo_Domingo",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Sao_Paulo",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "America/Scoresbysund",
	"current_standard_offset": "-01:00"
}, {
	"zone_id": "America/Shiprock",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "America/Sitka",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "America/St_Barthelemy",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/St_Johns",
	"current_standard_offset": "-03:30"
}, {
	"zone_id": "America/St_Kitts",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/St_Lucia",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/St_Thomas",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/St_Vincent",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Swift_Current",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Tegucigalpa",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Thule",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Thunder_Bay",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Tijuana",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "America/Toronto",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "America/Tortola",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Vancouver",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "America/Virgin",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "America/Whitehorse",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "America/Winnipeg",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "America/Yakutat",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "America/Yellowknife",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "Antarctica/Casey",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Antarctica/Davis",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Antarctica/DumontDUrville",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Antarctica/Macquarie",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Antarctica/Mawson",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Antarctica/McMurdo",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Antarctica/Palmer",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "Antarctica/Rothera",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "Antarctica/South_Pole",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Antarctica/Syowa",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Antarctica/Troll",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Antarctica/Vostok",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Arctic/Longyearbyen",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Asia/Aden",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Asia/Almaty",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Amman",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Anadyr",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Asia/Aqtau",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Aqtobe",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Ashgabat",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Ashkhabad",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Baghdad",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Asia/Bahrain",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Asia/Baku",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Asia/Bangkok",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Beirut",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Bishkek",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Brunei",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Calcutta",
	"current_standard_offset": "+05:30"
}, {
	"zone_id": "Asia/Chita",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Choibalsan",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Chongqing",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Chungking",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Colombo",
	"current_standard_offset": "+05:30"
}, {
	"zone_id": "Asia/Dacca",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Damascus",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Dhaka",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Dili",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Asia/Dubai",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Asia/Dushanbe",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Gaza",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Harbin",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Hebron",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Ho_Chi_Minh",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Hong_Kong",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Hovd",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Irkutsk",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Istanbul",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Jakarta",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Jayapura",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Asia/Jerusalem",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Kabul",
	"current_standard_offset": "+04:30"
}, {
	"zone_id": "Asia/Kamchatka",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Asia/Karachi",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Kashgar",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Kathmandu",
	"current_standard_offset": "+05:45"
}, {
	"zone_id": "Asia/Katmandu",
	"current_standard_offset": "+05:45"
}, {
	"zone_id": "Asia/Khandyga",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Asia/Kolkata",
	"current_standard_offset": "+05:30"
}, {
	"zone_id": "Asia/Krasnoyarsk",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Kuala_Lumpur",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Kuching",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Kuwait",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Asia/Macao",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Macau",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Magadan",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Asia/Makassar",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Manila",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Muscat",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Asia/Nicosia",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Novokuznetsk",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Novosibirsk",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Omsk",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Oral",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Phnom_Penh",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Pontianak",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Pyongyang",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Asia/Qatar",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Asia/Qyzylorda",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Rangoon",
	"current_standard_offset": "+06:30"
}, {
	"zone_id": "Asia/Riyadh",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Asia/Saigon",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Sakhalin",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Asia/Samarkand",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Seoul",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Asia/Shanghai",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Singapore",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Srednekolymsk",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Asia/Taipei",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Tashkent",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Tbilisi",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Asia/Tehran",
	"current_standard_offset": "+03:30"
}, {
	"zone_id": "Asia/Tel_Aviv",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Asia/Thimbu",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Thimphu",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Tokyo",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Asia/Ujung_Pandang",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Ulaanbaatar",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Ulan_Bator",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Asia/Urumqi",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Asia/Ust-Nera",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Asia/Vientiane",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Asia/Vladivostok",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Asia/Yakutsk",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Asia/Yekaterinburg",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Asia/Yerevan",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Atlantic/Azores",
	"current_standard_offset": "-01:00"
}, {
	"zone_id": "Atlantic/Bermuda",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "Atlantic/Canary",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Atlantic/Cape_Verde",
	"current_standard_offset": "-01:00"
}, {
	"zone_id": "Atlantic/Faeroe",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Atlantic/Faroe",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Atlantic/Jan_Mayen",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Atlantic/Madeira",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Atlantic/Reykjavik",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Atlantic/South_Georgia",
	"current_standard_offset": "-02:00"
}, {
	"zone_id": "Atlantic/St_Helena",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Atlantic/Stanley",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "Australia/ACT",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/Adelaide",
	"current_standard_offset": "+09:30"
}, {
	"zone_id": "Australia/Brisbane",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/Broken_Hill",
	"current_standard_offset": "+09:30"
}, {
	"zone_id": "Australia/Canberra",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/Currie",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/Darwin",
	"current_standard_offset": "+09:30"
}, {
	"zone_id": "Australia/Eucla",
	"current_standard_offset": "+08:45"
}, {
	"zone_id": "Australia/Hobart",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/LHI",
	"current_standard_offset": "+10:30"
}, {
	"zone_id": "Australia/Lindeman",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/Lord_Howe",
	"current_standard_offset": "+10:30"
}, {
	"zone_id": "Australia/Melbourne",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/NSW",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/North",
	"current_standard_offset": "+09:30"
}, {
	"zone_id": "Australia/Perth",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Australia/Queensland",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/South",
	"current_standard_offset": "+09:30"
}, {
	"zone_id": "Australia/Sydney",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/Tasmania",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/Victoria",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Australia/West",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Australia/Yancowinna",
	"current_standard_offset": "+09:30"
}, {
	"zone_id": "Brazil/Acre",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "Brazil/DeNoronha",
	"current_standard_offset": "-02:00"
}, {
	"zone_id": "Brazil/East",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "Brazil/West",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "CET",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "CST6CDT",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "Canada/Atlantic",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "Canada/Central",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "Canada/East-Saskatchewan",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "Canada/Eastern",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "Canada/Mountain",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "Canada/Newfoundland",
	"current_standard_offset": "-03:30"
}, {
	"zone_id": "Canada/Pacific",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "Canada/Saskatchewan",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "Canada/Yukon",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "Chile/Continental",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "Chile/EasterIsland",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "Cuba",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "EET",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "EST5EDT",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "Egypt",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Eire",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/GMT",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/GMT+0",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/GMT+1",
	"current_standard_offset": "-01:00"
}, {
	"zone_id": "Etc/GMT+10",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "Etc/GMT+11",
	"current_standard_offset": "-11:00"
}, {
	"zone_id": "Etc/GMT+12",
	"current_standard_offset": "-12:00"
}, {
	"zone_id": "Etc/GMT+2",
	"current_standard_offset": "-02:00"
}, {
	"zone_id": "Etc/GMT+3",
	"current_standard_offset": "-03:00"
}, {
	"zone_id": "Etc/GMT+4",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "Etc/GMT+5",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "Etc/GMT+6",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "Etc/GMT+7",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "Etc/GMT+8",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "Etc/GMT+9",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "Etc/GMT-0",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/GMT-1",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Etc/GMT-10",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Etc/GMT-11",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Etc/GMT-12",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Etc/GMT-13",
	"current_standard_offset": "+13:00"
}, {
	"zone_id": "Etc/GMT-14",
	"current_standard_offset": "+14:00"
}, {
	"zone_id": "Etc/GMT-2",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Etc/GMT-3",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Etc/GMT-4",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Etc/GMT-5",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Etc/GMT-6",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Etc/GMT-7",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Etc/GMT-8",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Etc/GMT-9",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Etc/GMT0",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/Greenwich",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/UCT",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/UTC",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/Universal",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Etc/Zulu",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Europe/Amsterdam",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Andorra",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Athens",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Belfast",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Europe/Belgrade",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Berlin",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Bratislava",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Brussels",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Bucharest",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Budapest",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Busingen",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Chisinau",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Copenhagen",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Dublin",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Europe/Gibraltar",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Guernsey",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Europe/Helsinki",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Isle_of_Man",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Europe/Istanbul",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Jersey",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Europe/Kaliningrad",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Kiev",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Lisbon",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Europe/Ljubljana",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/London",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Europe/Luxembourg",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Madrid",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Malta",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Mariehamn",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Minsk",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Europe/Monaco",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Moscow",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Europe/Nicosia",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Oslo",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Paris",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Podgorica",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Prague",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Riga",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Rome",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Samara",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Europe/San_Marino",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Sarajevo",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Simferopol",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Europe/Skopje",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Sofia",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Stockholm",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Tallinn",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Tirane",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Tiraspol",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Uzhgorod",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Vaduz",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Vatican",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Vienna",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Vilnius",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Volgograd",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Europe/Warsaw",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Zagreb",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Europe/Zaporozhye",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Europe/Zurich",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "GB",
	"current_standard_offset": "Z"
}, {
	"zone_id": "GB-Eire",
	"current_standard_offset": "Z"
}, {
	"zone_id": "GMT",
	"current_standard_offset": "Z"
}, {
	"zone_id": "GMT0",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Greenwich",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Hongkong",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "Iceland",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Indian/Antananarivo",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Indian/Chagos",
	"current_standard_offset": "+06:00"
}, {
	"zone_id": "Indian/Christmas",
	"current_standard_offset": "+07:00"
}, {
	"zone_id": "Indian/Cocos",
	"current_standard_offset": "+06:30"
}, {
	"zone_id": "Indian/Comoro",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Indian/Kerguelen",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Indian/Mahe",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Indian/Maldives",
	"current_standard_offset": "+05:00"
}, {
	"zone_id": "Indian/Mauritius",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Indian/Mayotte",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "Indian/Reunion",
	"current_standard_offset": "+04:00"
}, {
	"zone_id": "Iran",
	"current_standard_offset": "+03:30"
}, {
	"zone_id": "Israel",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "Jamaica",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "Japan",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Kwajalein",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Libya",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "MET",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "MST7MDT",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "Mexico/BajaNorte",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "Mexico/BajaSur",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "Mexico/General",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "NZ",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "NZ-CHAT",
	"current_standard_offset": "+12:45"
}, {
	"zone_id": "Navajo",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "PRC",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "PST8PDT",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "Pacific/Apia",
	"current_standard_offset": "+13:00"
}, {
	"zone_id": "Pacific/Auckland",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Bougainville",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Pacific/Chatham",
	"current_standard_offset": "+12:45"
}, {
	"zone_id": "Pacific/Chuuk",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Pacific/Easter",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "Pacific/Efate",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Pacific/Enderbury",
	"current_standard_offset": "+13:00"
}, {
	"zone_id": "Pacific/Fakaofo",
	"current_standard_offset": "+13:00"
}, {
	"zone_id": "Pacific/Fiji",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Funafuti",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Galapagos",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "Pacific/Gambier",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "Pacific/Guadalcanal",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Pacific/Guam",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Pacific/Honolulu",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "Pacific/Johnston",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "Pacific/Kiritimati",
	"current_standard_offset": "+14:00"
}, {
	"zone_id": "Pacific/Kosrae",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Pacific/Kwajalein",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Majuro",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Marquesas",
	"current_standard_offset": "-09:30"
}, {
	"zone_id": "Pacific/Midway",
	"current_standard_offset": "-11:00"
}, {
	"zone_id": "Pacific/Nauru",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Niue",
	"current_standard_offset": "-11:00"
}, {
	"zone_id": "Pacific/Norfolk",
	"current_standard_offset": "+11:30"
}, {
	"zone_id": "Pacific/Noumea",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Pacific/Pago_Pago",
	"current_standard_offset": "-11:00"
}, {
	"zone_id": "Pacific/Palau",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Pacific/Pitcairn",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "Pacific/Pohnpei",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Pacific/Ponape",
	"current_standard_offset": "+11:00"
}, {
	"zone_id": "Pacific/Port_Moresby",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Pacific/Rarotonga",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "Pacific/Saipan",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Pacific/Samoa",
	"current_standard_offset": "-11:00"
}, {
	"zone_id": "Pacific/Tahiti",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "Pacific/Tarawa",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Tongatapu",
	"current_standard_offset": "+13:00"
}, {
	"zone_id": "Pacific/Truk",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Pacific/Wake",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Wallis",
	"current_standard_offset": "+12:00"
}, {
	"zone_id": "Pacific/Yap",
	"current_standard_offset": "+10:00"
}, {
	"zone_id": "Poland",
	"current_standard_offset": "+01:00"
}, {
	"zone_id": "Portugal",
	"current_standard_offset": "Z"
}, {
	"zone_id": "ROK",
	"current_standard_offset": "+09:00"
}, {
	"zone_id": "Singapore",
	"current_standard_offset": "+08:00"
}, {
	"zone_id": "SystemV/AST4",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "SystemV/AST4ADT",
	"current_standard_offset": "-04:00"
}, {
	"zone_id": "SystemV/CST6",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "SystemV/CST6CDT",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "SystemV/EST5",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "SystemV/EST5EDT",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "SystemV/HST10",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "SystemV/MST7",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "SystemV/MST7MDT",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "SystemV/PST8",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "SystemV/PST8PDT",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "SystemV/YST9",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "SystemV/YST9YDT",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "Turkey",
	"current_standard_offset": "+02:00"
}, {
	"zone_id": "UCT",
	"current_standard_offset": "Z"
}, {
	"zone_id": "US/Alaska",
	"current_standard_offset": "-09:00"
}, {
	"zone_id": "US/Aleutian",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "US/Arizona",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "US/Central",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "US/East-Indiana",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "US/Eastern",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "US/Hawaii",
	"current_standard_offset": "-10:00"
}, {
	"zone_id": "US/Indiana-Starke",
	"current_standard_offset": "-06:00"
}, {
	"zone_id": "US/Michigan",
	"current_standard_offset": "-05:00"
}, {
	"zone_id": "US/Mountain",
	"current_standard_offset": "-07:00"
}, {
	"zone_id": "US/Pacific",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "US/Pacific-New",
	"current_standard_offset": "-08:00"
}, {
	"zone_id": "US/Samoa",
	"current_standard_offset": "-11:00"
}, {
	"zone_id": "UTC",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Universal",
	"current_standard_offset": "Z"
}, {
	"zone_id": "W-SU",
	"current_standard_offset": "+03:00"
}, {
	"zone_id": "WET",
	"current_standard_offset": "Z"
}, {
	"zone_id": "Zulu",
	"current_standard_offset": "Z"
}]

5. Conclusion

In this article we saw how to calculate the timezone difference with UTC time. The new date and time APIs are extremely powerful and very easy to use.

Leave a Reply

Your email address will not be published. Required fields are marked *