2017-04-05 26 views
0

我在的UILabel這個日期格式輸出操縱斯威夫特日期格式3.0

datefrom.text = 「2010-12-05 00:00:00」

但我想顯示此日期格式轉換成一些簡單的像這樣

2010年12月或12月5日5,2010

我使用此代碼顯示的日期,但它顯示的是2017年

date.swift

let date = Date() 
let formatter = DateFormatter() 
formatter.dateFormat = "d MMM yyyy" 
let result = formatter.string(from:date) 
datefrom.text = result 

4月5日的任何解決方案今天的日期?

謝謝。

+0

您必須首先使用與原始格式匹配的DateFormatter將字符串轉換爲Date,然後使用第二種格式將Date轉換爲新字符串。 – rmaddy

+0

你可以在你的答案中發佈代碼嗎?謝謝 – AlotJai

+0

可能重複[如何在swift中轉換此日期格式?](http://stackoverflow.com/questions/31175256/how-can-i-convert-this-date-format-in-swift) – rmaddy

回答

1

DateFormatter會幫你做到這一點!

步驟1:將您的字符串到日期類型

func convertStringToDate(string: String) -> Date? { 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" 
    return dateFormatter.date(from: dateString) 
} 

第2步:將您的日期到您預期的格式

func convertDateToString(date: Date) -> String { 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "d MMM yyyy" 
    return dateFormatter.string(from: date) 
} 

這就是它!

let dateString = "2010-12-05 00:00:00" 

let date = convertStringToDate(string: dateString) 
let result = convertDateToString(date: date!) 

datefrom.text = result 
// 5 Dec 2010 
+0

謝謝。這行得通。 – AlotJai