Some common date formats in swift are:
- ISO 8601:
yyyy-MM-ddTHH:mm:ss.SSS
(e.g.2023-11-04T08:47:05.123
) - RFC 3339:
yyyy-MM-ddTHH:mm:ssZ
(e.g.2023-11-04T08:47:05Z
) - ATOM:
yyyy-MM-ddTHH:mm:ss-05:00
(e.g.2023-11-04T08:47:05-05:00
) - RSS:
Tue, 04 Nov 2023 08:47:05 EST
(e.g.Tue, 04 Nov 2023 08:47:05 EST
)
The T
character is used to separate the date from the time. The Z
character at the end of some formats indicates that the time is in UTC (Coordinated Universal Time).
Here are some examples of how to use these date formats with Swift:
// ISO 8601 let iso8601DateFormatter = DateFormatter() iso8601DateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ss.SSS" let iso8601Date = iso8601DateFormatter.date(from: "2023-11-04T08:47:05.123") // RFC 3339 let rfc3339DateFormatter = DateFormatter() rfc3339DateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ssZ" let rfc3339Date = rfc3339DateFormatter.date(from: "2023-11-04T08:47:05Z") // ATOM let atomDateFormatter = DateFormatter() atomDateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ss-05:00" let atomDate = atomDateFormatter.date(from: "2023-11-04T08:47:05-05:00") // RSS let rssDateFormatter = DateFormatter() rssDateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss zzz" let rssDate = rssDateFormatter.date(from: "Tue, 04 Nov 2023 08:47:05 EST")
Similarly date to string examples are:
// ISO 8601 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ss.SSSZ" let dateString = dateFormatter.string(from: date) print(dateString) // 2023-11-04T08:47:05.123Z // RFC 3339 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ssZ" let dateString = dateFormatter.string(from: date) print(dateString) // 2023-11-04T08:47:05Z // ATOM let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-ddTHH:mm:ss-05:00" let dateString = dateFormatter.string(from: date) print(dateString) // 2023-11-04T08:47:05-05:00 // RSS let dateFormatter = DateFormatter() dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss zzz" let dateString = dateFormatter.string(from: date) print(dateString) // Tue, 04 Nov 2023 08:47:05 EST
Hope it helps!!!