2017-06-16 8 views
-2

私はDateFormatterを持っていますが、日付の文字列をdateに変換する意図で日付のStringを渡しています。問題は、この最終日が常に3時間以上続くということです。これは私のコードです:日付の結果に3時間を追加するDateFormatter

let taskDateFormatter = DateFormatter() 
taskDateFormatter.locale = Locale.current      
taskDateFormatter.dateFormat = "dd/MM/yyyy HH:mm:ss" 
print(task!.logData!)// this print 016/06/2017 10:25:12 
let date = taskDateFormatter.date(from: task!.logData!) 
print(date!)// this print 2017-06-16 13:25:12 +0000 

私は間違っていますか?

+4

を追加してください。あなたはGMT-3タイムゾーンにおり、 '(NS)Date'は常に印刷のためにUTCを使います(" +0000 "の意味)。 –

+0

可能な複製https://stackoverflow.com/questions/6229024/nsdate-format-outputting-wrong-dateまたはhttps://stackoverflow.com/questions/29407599/nsdateformatter-return-wrong-date-swift –

+0

可能な複製[NSDate形式の間違った日付を出力しています](https://stackoverflow.com/questions/6229024/nsdate-format-outputting-wrong-date) – Stonz2

答えて

0

はエラーがない

taskDateFormatter.timeZone = NSTimeZone(name: "UTC") 
+0

この作品!ありがとう!!!! –

+0

解析される文字列が実際にUTC形式でない限り、これを行わないでください。 'date'の出力結果を変更するためだけにこれをしないでください。 – rmaddy

関連する問題