转换datestringswift
我有这种格式的datestring:
2016-06-20T13:01:46.457+02:00
我需要改变它是这样的:
20/06/2016
以前,我一直使用这个库 – “ SwiftDate来操纵date,但现在不工作。
我也试过类似的东西:
let myDate = self.dateNoteDict[indexPath.row]! let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss.SSSSxxx" let date = dateFormatter.dateFromString(myDate) print("date -> \(date)")
但它不起作用。 我能怎么做?
提前致谢。
具有小数秒和时区的标准ISO8601date格式是
YYYY-MM-dd'T'HH:MM:ss.SSSZ
let myDate = "2016-06-20T13:01:46.457+02:00" let dateFormatter = NSDateFormatter() dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") // edited dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" let date = dateFormatter.dateFromString(myDate)! dateFormatter.dateFormat = "dd/MM/yyyy" let dateString = dateFormatter.stringFromDate(date)
Swift 3:
let myDate = "2016-06-20T13:01:46.457+02:00" let dateFormatter = DateFormatter() dateFormatter.locale = Locale(identifier: "en_US_POSIX") // edited dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" let date = dateFormatter.date(from:myDate)! dateFormatter.dateFormat = "dd/MM/yyyy" let dateString = dateFormatter.string(from:date)
我总是使用此代码,同时将String
转换为Date
。 ( Swift 3 )
extension String { func toDate( dateFormat format : String) -> Date { let dateFormatter = DateFormatter() dateFormatter.dateFormat = format if let date = dateFormatter.date(from: self) { return date } print("Invalid arguments ! Returning Current Date . ") return Date() } }
只是打电话就好。 。
print ( "2016-06-20T13:01:46.457+02:00".toDate(dateFormat: "yyyy-MM-dd'T'HH:mm:ss.SSSZ") ) //Capital HH for 24-Hour Time