Swift version: 5.10
When using 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”.
SPONSORED Alex is the iOS & Mac developer’s ultimate AI assistant. It integrates with Xcode, offering a best-in-class Swift coding agent. Generate modern SwiftUI from images. Fast-apply suggestions from Claude 3.5 Sonnet, o3-mini, and DeepSeek R1. Autofix Swift 6 errors and warnings. And so much more. Start your 7-day free trial today!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.