diff --git a/Amplify/Categories/DataStore/Model/Temporal/TimeZone+Extension.swift b/Amplify/Categories/DataStore/Model/Temporal/TimeZone+Extension.swift index 31fee988f7..72a2821739 100644 --- a/Amplify/Categories/DataStore/Model/Temporal/TimeZone+Extension.swift +++ b/Amplify/Categories/DataStore/Model/Temporal/TimeZone+Extension.swift @@ -9,12 +9,16 @@ import Foundation extension TimeZone { + private static let iso8601TimeZoneHHColonMMColonSSRegex = try? NSRegularExpression(pattern: "^[+-]\\d{2}:\\d{2}:\\d{2}$") private static let iso8601TimeZoneHHColonMMRegex = try? NSRegularExpression(pattern: "^[+-]\\d{2}:\\d{2}$") private static let iso8601TimeZoneHHMMRegex = try? NSRegularExpression(pattern: "^[+-]\\d{2}\\d{2}$") private static let iso8601TimeZoneHHRegex = try? NSRegularExpression(pattern: "^[+-]\\d{2}$") + /// ±hh:mm:ss is not a standard of ISO8601 date format, but it's supported by AWSDateTime. + /// https://docs.aws.amazon.com/appsync/latest/devguide/scalars.html private enum ISO8601TimeZonePart { case utc + case hhmmss(hours: Int, minutes: Int, seconds: Int) case hhmm(hours: Int, minutes: Int) case hh(hours: Int) @@ -25,6 +29,17 @@ extension TimeZone { } != nil } + //