2017-01-02 64 views
-2

如何1st Dec 1984字符串值的日期格式更改爲2022年12月1日更改的NSDate格式化字符串轉換爲所需的樣式

會有什麼要求的日期格式化風格?

+0

'NSDateFormatter'不支持像1st這樣的序數。 – vadian

+0

如何解決這個問題呢? @vadian – pkc456

+1

看看這個問題:http://stackoverflow.com/questions/37733659/how-to-format-the-date-using-nsdateformatter-in-swift-for-ios/37737070#37737070 – vadian

回答

3

這個答案並不漂亮。但它會完成工作。第一場比賽的'st'很難。據我所知,這不是一個日期格式。

let dateString = "1st Dec 1984".replacingOccurrences(of: "[st|nd|th|rd]", with: "", options: .regularExpression) 
let formatter = DateFormatter() 

formatter.dateFormat = "d MM yyyy" 

let date = formatter.date(from: dateString) 

formatter.dateFormat = "yyyy-MM-dd" 

let newString = formatter.string(from: date!) 

這會給你你想要的結果。除非我不確定你的結果是如何得到2022的,因爲從給定的日期決不會產生2022。

+0

感謝您的快速回復。你可以通過使用「正則表達式」而不是取代出現來改善答案。 – pkc456

+0

@ pkc456確定完成。 –

+1

你也可以將'replaceOccurrences'與正則表達式結合起來,這樣做更容易:'let newString = dateString.replacingOccurrences(of:「[st | nd | th | rd]」,with:「」,options:.regularExpression)'' – vadian

相關問題