All Projects → Alterplay → Aptimezones

Alterplay / Aptimezones

Licence: mit
The easiest offline way to get NSTimeZone from CLLocation by folks from

An utility for iOS and OSX developers to simplify extracting NSTimeZone from a given CLLocation.

You can do the same job by calling Google API or Yahoo API but APTimeZones works locally, offline and with no limits inherented to hosted solutions.

Usage:

//Ukraine location
CLLocation *location = [[CLLocation alloc] initWithLatitude:50.449846
                                                  longitude:30.523629];
                                                      
NSTimeZone *timeZone = [[APTimeZones sharedInstance] timeZoneWithLocation:location];
NSLog(@"%@", timeZone);

You can use APTimeZones with CLGeocoder as well to receive NSTimeZone for a given city string.

CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:@"New York" completionHandler:^(NSArray *placemarks, NSError *error) {
    if (placemarks.count) {
        CLPlacemark *placemark = placemarks[0];
        CLLocation *location = placemark.location;
                
        NSString *countryCode = placemark.addressDictionary[@"CountryCode"];
        NSTimeZone *timeZone = [[APTimeZones sharedInstance] timeZoneWithLocation:location
                                                                      countryCode:countryCode];
        NSLog(@"%@", timeZone);
    } 
}];

Version 1.1:

We've added some handy categories with version 1.1 to make timezones magic even more easy.

CLLocation+APTimeZones CLPlacemark+APTimeZones

    CLLocation *location = ...
    NSLog(@"%@", location.timeZone);

    CLPlacemark *placemark = ...;
    NSLog(@"%@", placemark.timeZone);

Also, we've added example project that shows APTimeZones usage [Demo Video on YouTube]:

APTimeZones requires ARC.

=======================

Check out all Alterplay's GitHub projects. Email us with other ideas and projects.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].