iOS Swift 3 : 「yyyy-MM-dd'T'HH:mm:ssZ」形式の文字列を日付オブジェクトに変換する 質問する

iOS Swift 3 : 「yyyy-MM-dd'T'HH:mm:ssZ」形式の文字列を日付オブジェクトに変換する 質問する

こんにちは辞書を持っています

self.publishedAt = dictionary["publishedAt"] as? NSString

私はデートをしています2017-01-27T18:36:36Z読み取り可能な形式に変換したい:dd-MM-yyyy hh:mm:ss. 私は試しました

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy hh:mm:ss"
let date = dateFormatter.date(from: (self.publishedAt as? String)!)
print("EXACT_DATE : \(date)") 

しかし、ゼロになりました。:(

シンプルな形式で日付を取得する正しい方法は何ですか?

ベストアンサー1

ISO8601 文字列を日付に変換するための入力形式と、日付を文字列に戻すための出力形式が必要です。

let string = "2017-01-27T18:36:36Z"

let dateFormatter = DateFormatter()
let tempLocale = dateFormatter.locale // save locale temporarily
dateFormatter.locale = Locale(identifier: "en_US_POSIX") // set locale to reliable US_POSIX
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormatter.date(from: string)!
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
dateFormatter.locale = tempLocale // reset the locale
let dateString = dateFormatter.string(from: date)
print("EXACT_DATE : \(dateString)")

おすすめ記事