From 6a71b0773c33c74eb5f4ddadee2f6e1b36a6b076 Mon Sep 17 00:00:00 2001 From: Yannick Spreen Date: Wed, 28 Apr 2021 15:59:17 +0200 Subject: [PATCH] Add new date init. --- DGCAVerifier/Extensions/Date.swift | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/DGCAVerifier/Extensions/Date.swift b/DGCAVerifier/Extensions/Date.swift index 18a34e2..95953a8 100644 --- a/DGCAVerifier/Extensions/Date.swift +++ b/DGCAVerifier/Extensions/Date.swift @@ -63,6 +63,28 @@ extension Date { } self = date } + init?(rfc3339DateTimeString str: String) { + let rfc3339DateTimeFormatter = DateFormatter() + + rfc3339DateTimeFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ" + if let date = rfc3339DateTimeFormatter.date(from: str) { + self = date + return + } + + rfc3339DateTimeFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ" + if let date = rfc3339DateTimeFormatter.date(from: str) { + self = date + return + } + + rfc3339DateTimeFormatter.dateFormat = "yyyy-MM-dd't'HH:mm:ss.SSS'z'" + if let date = rfc3339DateTimeFormatter.date(from: str) { + self = date + return + } + return nil + } var localDateString: String { let formatter = DateFormatter()