JSONEncoder to encode dates, there are a handful of built-in date formats you can choose from. If none of them fit your needs, why not make your own? You can configure a
DateFormatter using whatever date and time format you want, then pass that to the
JSONEncoder as its
dateEncodingStrategy property, like this:
let encoder = JSONEncoder() let formatter = DateFormatter() formatter.dateStyle = .full formatter.timeStyle = .full encoder.dateEncodingStrategy = .formatted(formatter)
That converts any
Date properties to be the fullest possible string for your locale, e.g. "Monday, February 5, 2018 at 9:28:10 PM Greenwich Mean Time”.
Available from iOS 8.0
Did this solution work for you? Please pass it on!
Other people are reading…
About the Swift Knowledge Base
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Become a Swift expert
I wrote a book called Pro Swift that's dedicated to helping you master the Swift language, and it includes seven hours of video demonstrating each technique!