Latest 1.1.6
License MIT
Platforms ios 8.0, osx 10.9

Lat/long to timezone mapper in Java and Swift and C#. Does not require web services or data files.

The "lat/long to timezone polygon mapping" is hardcoded, and we hope this rarely changes, but the changes to offsets and daylight savings changeover dates etc. (which are more frequent) are taken care of by your system libraries and so these are automatically kept up-to-date. From time to time, someone updates the files with the latest timezone polygons, but these rarely change…I think the most recent change is the Crimean peninsular.

99% of people using this project just need the one file:






# Podfile

pod 'LatLongToTimezone', '~> 1.1'

In the Podfile directory, type:

$ pod install


Add this to Cartfile

github "drtimcooper/LatLongToTimezone" ~> 1.1
$ carthage update


For Swift 2.3 and earlier, use version 1.0.4 of the Podspec.
For Swift 3 to 4.1, use version 1.1.3 of the Podspec.
For Swift 4.2 or later, use the latest version.


In your code, you can do

import LatLongToTimezone

let location = CLLocationCoordinate2D(latitude: 34, longitude: -122)
let timeZone = TimezoneMapper.latLngToTimezone(location)

Latest podspec

    "name": "LatLongToTimezone",
    "version": "1.1.6",
    "summary": "Convert a latitude and longitude to a time zone string or TimeZone",
    "description": "Converts a CLLocationCoordinate2D to a time zone identifier or TimeZone.nUses polygonal regions with accuracy at worst ~2km.  Works entirely offline.",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": ""
    "authors": {
        "Andrew Kirmse": "[email protected]"
    "platforms": {
        "ios": "8.0",
        "osx": "10.9"
    "source": {
        "git": "",
        "tag": "1.1.6"
    "source_files": "Classes/*.swift",
    "exclude_files": "Classes/Exclude",
    "swift_version": "4.2"

Pin It on Pinterest

Share This