如何将string转换为Swift iOS中的string?

我很快就学会了将datestring转换为NSDate到string。 获取这种格式的datestring“星期四,22十月2015 07:45:17 +0000”。 我需要以MM-dd-yyyy格式显示date。 我试过下面的代码,但是,它返回“null”。

let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "MM-dd-yyyy" dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle let dateObj = dateFormatter.dateFromString(dateString!) print("Dateobj: \(dateObj)") 

任何人都可以请帮助哪里出错? 期待帮助。 提前致谢。

首先,您需要将string转换为NSDate格式。 然后,将dateFormatter更改为简单格式并将其转换回string。

SWIFT 3

 let dateString = "Thu, 22 Oct 2015 07:45:17 +0000" let dateFormatter = DateFormatter() dateFormatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss +zzzz" dateFormatter.locale = Locale.init(identifier: "en_GB") let dateObj = dateFormatter.date(from: dateString) dateFormatter.dateFormat = "MM-dd-yyyy" print("Dateobj: \(dateFormatter.string(from: dateObj!))") 

打印结果是: Dateobj: 10-22-2015

// Swift 3

 //String to Date Convert let dateString = "2014-01-12" let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" let s = dateFormatter.date(from:dateString) print(s!) //CONVERT FROM NSDate to String let date = NSDate() let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" let dateString = dateFormatter.string(from:date as Date) print(dateString) 

看到加里·马金的答案。 而你需要改变格式或数据。 因为您所选的数据不符合所选格式。 例如,这个代码工作正确:

 let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "MM-dd-yyyy" let dateObj = dateFormatter.dateFromString("10 10 2001") print("Dateobj: \(dateObj)") 
 let date = NSDate() var dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "MM-dd-yyyy" var dateString = dateFormatter.stringFromDate(date) println(dateString)