2017-07-17 76 views
0

我有ISO日期從API我想將其轉換爲另一種自定義日期格式,我在這裏檢查了一些線程它看起來像我必須使用Date類的擴展,不幸的是,我所有的嘗試失敗。swift 4從ISO字符串到自定義格式的日期?

這個例子中的日期我有:

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

我想將其轉換爲July 2014

我可以正常使用Date類做呢?

及以下什麼,我試圖做

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

回答

2

嘗試:從SQL Server

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

我的日期負荷和這樣的格式「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.2012年1月17日