2017-07-17 18 views
0

私はAPIからのISOの日付を持っています。別のカスタム日付形式に変換したいのですが、ここでいくつかのスレッドを確認しましたが、残念ながら、すべての試みは失敗しました。swift 4 ISO文字列からカスタム形式への日付?

日のため、この例で私が持っている:

2014-10-22T00:00:00+00:00 

は、私はそれを行うには、通常のDateクラスを使用することができますJuly 2014

に変換したいですか?

と私は

let formatter = ISO8601DateFormatter() 
let date = formatter.date(from: "2016-08-26T12:39:00Z") 
let string = formatter.string(from: Date()) 

答えて

2

のように月と年を取得することができます:

let formatter = ISO8601DateFormatter() 
if let date = formatter.date(from: "2014-10-22T00:00:00+00:00") { 
    let string = date.stringDate 
    print(string) // October 2014 
} 

extension Date { 

    var stringDate: String { 
     let formatter = DateFormatter() 
     formatter.dateFormat = "MMMM yyyy" 
     return formatter.string(from: self) 
    } 

} 
0

を行うにしようとしています何の下にあなたはそれを試してみてください。この

override func viewDidLoad() { 
    super.viewDidLoad() 

    print(getFormattedDate(date: Date())) 

} 

func getFormattedDate(date: Date) -> String { 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "MMMM YYYY" 
    let strMonth = dateFormatter.string(from: date) 
    return strMonth 
} 
0

私の日負荷SQL Serverからのこの形式の "2018-01-17T03:08:28.158769"のような形式は、私にとっては完璧に機能します。

let isoDate = "2018-01-17T03:08:28.158769" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSSSS" 
let date = dateFormatter.date(from:isoDate!)! 
dateFormatter.dateFormat = "d.MMMM.YYYY" 
let displayDate = dateFormatter.string(from: date) 
displayDateInLabel.text = displayDate 

結果 17.January.2018

関連する問題