How can I convert string date to NSDate?
try this:
let dateFormatter = NSDateFormatter()dateFormatter.dateFormat = /* find out and place date format from * http://userguide.icu-project.org/formatparse/datetime */let date = dateFormatter.dateFromString(/* your_date_string */)
For further query, check NSDateFormatter and DateFormatter classes of Foundation framework for Objective-C and Swift, respectively.
Swift 3 and later (Swift 4 included)
let dateFormatter = DateFormatter()dateFormatter.dateFormat = /* date_format_you_want_in_string from * http://userguide.icu-project.org/formatparse/datetime */guard let date = dateFormatter.date(from: /* your_date_string */) else { fatalError("ERROR: Date conversion failed due to mismatched format.")}// use date constant here
Swift 4
import Foundationlet dateString = "2014-07-15" // change to your date formatvar dateFormatter = DateFormatter()dateFormatter.dateFormat = "yyyy-MM-dd"let date = dateFormatter.date(from: dateString)println(date)
Swift 3
import Foundationvar dateString = "2014-07-15" // change to your date formatvar dateFormatter = NSDateFormatter()dateFormatter.dateFormat = "yyyy-MM-dd"var date = dateFormatter.dateFromString(dateString)println(date)
I can do it with this code.
func convertDateFormatter(date: String) -> String { let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"//this your string date format dateFormatter.timeZone = NSTimeZone(name: "UTC") let date = dateFormatter.dateFromString(date) dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm"///this is what you want to convert format dateFormatter.timeZone = NSTimeZone(name: "UTC") let timeStamp = dateFormatter.stringFromDate(date!) return timeStamp}
Updated for Swift 3.
func convertDateFormatter(date: String) -> String{ let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"//this your string date format dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone! let date = dateFormatter.date(from: date) dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm"///this is what you want to convert format dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone! let timeStamp = dateFormatter.string(from: date!) return timeStamp}