let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd:MM:yyy hh:mm:ss"
let timeZone = TimeZone(identifier: "Europe/Amsterdam")
dateFormatter.timeZone = timeZone
dateFormatter.string(from: Date())
Although, I think the format "dd-MM-yyyy HH:mm:ss"
seems more correct. Having said that; setting dateFormat
should be used for setting the format when parsing a custom date format. When you are formatting a date to show to the user, you should use a date format that the user expects (in the default system locale). To do that you should use dateStyle
and timeStyle
:
dateFormatter.dateStyle = .medium
print(dateFormatter.string(from: Date())) // prints "Oct 28, 2017"
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .medium
print(dateFormatter.string(from: Date())) // prints "Oct 28, 2017 Oct 28, 2017 at 11:19:13 PM"