关于iphone:如何在iOS应用中获取某个位置的时区?

How to get the timezone of a location in iOS app?

本问题已经有最佳答案,请猛点这里访问。

我是iOS开发的新手。
我正在尝试构建一个主要可以做两件事的应用程序:

一个。 获取用户的系统时间(比如,他的手机在伦敦,所以他的时间)

湾 在特定地点(比如旧金山)获得时间

然后,我想计算位置之间的时间差(例如伦敦,英国比加利福尼亚州旧金山早8小时)

有人可以帮我提一下如何得到(a)和(b)?


对于(a)和(b):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
      let offset = TimeZone.current.secondsFromGMT();

        print(offset)//Your current timezone offset in seconds

        let loc = CLLocation.init(latitude: 48.8566, longitude: 2.3522);//Paris's lon/lat


        let coder = CLGeocoder();
        coder.reverseGeocodeLocation(loc) { (placemarks, error) in
            let place = placemarks?.last;

            let newOffset = place?.timeZone?.secondsFromGMT();

            print(newOffset);//Paris's timezone offset in seconds
        }


如果您正在寻找当地时间,您可以使用:

1
2
3
4
5
6
7
NSTimeZone *timeZoneLocal = [NSTimeZone localTimeZone];  
NSString *strTimeZoneName = [timeZoneLocal name];

  or

NSTimeZone *timeZoneLocal = [NSTimeZone defaultTimeZone];
NSString *strTimeZoneName = [timeZoneLocal name];

您可能只需要两个文本字段,并让用户比较时差。