Search code examples
iosswiftnsdateformatter

How to convert the each date components to particular date format in swift 2


I can obtain the individual date components as:

let dateString = String(dataModel.dateCompletedDay) + String(dataModel.dateCompletedMonth) + String(dataModel.dateCompletedYear)
print(dateString)
//2532016

Now how can i to convert it to DD/MM/YYYY format?


Solution

  • I suggest to use Calendar, DateComponents and DateFormatter (Swift 3)

    let components = DateComponents(year:dataModel.dateCompletedYear, month: dataModel.dateCompletedMonth, day: dataModel.dateCompletedDay)
    let calendar = Calendar(identifier: .gregorian)!
    let date = calendar.date(from: components)!
    let formatter = DateFormatter()
    formatter.dateFormat = "dd/MM/yyyy"
    let dateString = formatter.string(from: date)
    

    Additionally this is a simple solution which is supposed to work also in Swift 2

    let dateString = String(format: "%02ld/%02ld/%ld", dataModel.dateCompletedDay, dataModel.dateCompletedMonth, dataModel.dateCompletedYear)