2016-07-12 32 views
0

UTC日付を現地の日付に変換しようとしていますが、UTCを取得した後に文字列でローカル日付に変換します。NSDateでその文字列を再度変換しますが、swift iOSでローカル日付にUTC日付を取得する

let dateInUTC = NSDate() 
     let seconds: Int = NSTimeZone.systemTimeZone().secondsFromGMT 
     print(seconds) 
     let localDateFormatter: NSDateFormatter = NSDateFormatter() 
     localDateFormatter.dateFormat = "MM/dd/yyyy HH:mm" 
     localDateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: seconds) 
     let lastDate: String = localDateFormatter.stringFromDate(dateInUTC) 
     print(lastDate) 
:コードの下にチェックし、2016年7月20日午前18時30分00秒0000

私はローカルの日付で、この日付をしようとしています:UTCで:、以下

日に私のコードです

現在、「07/12/2016 16:56:36 GMT + 5:30」となっています。私は、文字列内のローカル日付を得たが、私は

let getDate:NSDate = localDateFormatter.dateFromString(lastDate)! 
    print(getDate) 

の下にチェック、NSDateでこの文字列を日付に変換するが、この段階で再び私はUTCの日付(2016年7月12日11を得たので、再びNSDateでこの日をしたいです: 26:36 +0000)が、私は地元の日付にしたい、

  • 私は、その作業罰金を私はObjective-Cで使用されるコードの行をスウィフトで多くの時間を試みたが、文字列から地元の日付を取得していませんobj-cしかし、私は迅速に私はUTCの日付を取得しようとしているとき、私を示唆し、私にこれをゾルに正しい方法を与える。
+2

NSDateは絶対的な時刻を表し、時刻はありません。これは尋ねられ、繰り返し答えられました。 –

+0

ローカルタイムゾーンでNSDateを取得する方法は? (注:文字列ではなく、NSDateでなければなりません) –

+0

この質問は意味をなさないので、NSDateは2001年1月1日のGMTからの秒数です。たとえば、http://stackoverflow.com/questions/24917483/swift-nsdate-utc-time-and-local-tmeまたはhttp://stackoverflow.com/questions/18124684/nsdate-change-time-zoneを参照してください。 NSDateの* description *メソッドは、UTCを使用して日付を文字列として表示します。 –

答えて

1

NSDatesは、タイムゾーン情報を保存しません。取得時には、常にタイムゾーン付きのdateFormatterを使用する必要があります。

関連する問題