如何从日期转换该日期时间?
从此:2016-02-29 12:24:26 至:2016年2月29日
到目前为止,这是我的代码,它返回nil值:
let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "MM-dd-yyyy" dateFormatter.timeZone = NSTimeZone(name: "UTC") let date: NSDate? = dateFormatter.dateFromString("2016-02-29 12:24:26") print(date)
您必须声明2 different NSDateFormatters,第一个将字符串转换为a NSDate,第二个以您的格式打印日期。 试试这个代码:
NSDateFormatters
NSDate
let dateFormatterGet = NSDateFormatter() dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss" let dateFormatterPrint = NSDateFormatter() dateFormatterPrint.dateFormat = "MMM dd,yyyy" let date: NSDate? = dateFormatterGet.dateFromString("2016-02-29 12:24:26") print(dateFormatterPrint.stringFromDate(date!))
Swift 3及更高版本:
从斯威夫特3 NSDate类已更改为Date与NSDateFormatter对DateFormatter。
Date
NSDateFormatter
DateFormatter
let dateFormatterGet = DateFormatter() dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss" let dateFormatterPrint = DateFormatter() dateFormatterPrint.dateFormat = "MMM dd,yyyy" if let date = dateFormatterGet.date(from: "2016-02-29 12:24:26") { print(dateFormatterPrint.string(from: date)) } else { print("There was an error decoding the string") }