The DateFormatter help in the conversion between dates and textual representations.
For example :-
If you are working on the project and you are dealing with date or time to show in your app screen, the date or time format you receive is different from the format you want to display. Let say you got the date in "2017-11-15" and you need to display on screen as "15 November, 2017" so DateFormatter help us for conversion in the format as we want to display.
Now let's see some more example for date and time conversion.
Let assume we have the date in "2017-11-15" format and now we will see how we change the date in "15 November, 2017".
let originalDate = "2017-11-15"
var newDate = ""
let dateformatter = DateFormatter()
dateformatter.dateFormat = "yyyy-MM-dd"
let convertStringToDate = dateformatter.date(from: originalDate)
dateformatter.dateFormat = "dd MMMM, yyyy"
newDate = dateformatter.string(from: convertStringToDate!)
Output :-
Now, let's customise the date in "15 Nov, 2017". For this you need to change only one line from the above code
dateformatter.dateFormat = "dd MMM, yyyy"
Output :-
If you don't want to customise your date style, you can use default dateStyle property provided by apple and display the date like.
eg :-
dateformatter.dateStyle = .long
Output :-
For short date style you can use
dateformatter.dateStyle = .short
Output :-
For full date with day of the week you can use
dateformatter.dateStyle = .full
Output :-
For medium date style you can use
dateformatter.dateStyle = .medium
Output :-