2017-07-28 13 views
1

私はiOS開発の新人です。 私は主に2つのことを行うことができるアプリを構築しようとしています:iOSアプリで場所のタイムゾーンを取得するにはどうすればよいですか?

a。 ユーザのシステム時刻を取得する(例えば、彼の電話はロンドンにあるので、彼の時間は)

b。

(例えばロンドン、英国が8時間進んサンフランシスコ、カリフォルニア州のある) 指定された場所(たとえば、サンフランシスコ)に

を時間を取得し、その後、私は場所との間の時間差を計算したいです

誰かが(a)と(b)をどのように手に入れることができますか?

+0

2点間の時間差を変更できることに留意してください。現在の時間差が何であるか、または他のある時点での差異を知ることができますが、差異だけでなく、夏時間やその他のタイムゾーンの異常による絶対値ではないためです。 –

答えて

0

あなたが使用することができ、ローカルタイムを探しているなら:

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

    or 

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

あなたはおそらく2つのテキストフィールドを必要とし、ユーザーが時間差を比較する必要があります。両方について

2

(a)および(b):

 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 
     } 
+0

'secondsFromGMT'のデフォルトは*現在の日付と時刻であるため、これは動作します。 –

+0

私はあなたの言葉をあまり得意ではありません、もっと説明できますか?私はそれについてもっと学びたいと思う。可能であれば、私に参照リンクを教えてもらえますか?ありがとう。 –

関連する問題