简体   繁体   中英

Convert string to particular date format getting nil in iOS

I am getting date in string format from server. So I am trying to formatting to particular format.

But it is getting nil.

"07September16 4:09 am", This I want to format like Sep 07 2016

I am doing it with following code

dateLabel.text = model().formatStringToDate(dateString: date)
    
func formatStringToDate(dateString: String) -> String {
    let dateStr = dateString
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MMM d yyyy"
    let formattedDate = dateFormatter.date(from: dateStr)
    print("formattedDate \(formattedDate)")
    //I have to return formatted string here
}

Any suggestions?

That should work;

// create `Date` from date string
let dateStr = "07September16 4:09 am"
let dateFormatterGet = DateFormatter()
dateFormatterGet.locale = Locale(identifier: "en_US_POSIX") 
dateFormatterGet.dateFormat = "ddMMMMyy h:mm a"
let date = dateFormatterGet.date(from: dateStr)

// convert back Date to string as Sep 07 2016
let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateFormat = "MMM dd yyyy"
print(dateFormatterPrint.string(from: date!))
let dateString = "07September16 4:09 am"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "ddMMMyy h:mm a"
let dateObj = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "MMM dd yyyy"
print("Dateobj: \(dateFormatter.string(from: dateObj!))")

First you must get date from your string with current format like`

let dateStr = dateString
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "ddMMMMyy h:mm a"
let formattedDate = dateFormatter.date(from: dateStr)!
print("formattedDate \(formattedDate)")

After getting the date you can get date string in which format you want just change the format`

dateFormatter.dateFormat = "MMM dd YYYY"
let convertedDateString = dateFormatter.string(from: formattedDate)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM