pscbonline-ios/PSCBOnline/Sources/Helpers/JSONDecoders.swift

34 lines
725 B
Swift

//
// JSONDecoders.swift
// PSCB-OOS-iOS
//
// Created by Antonov Ilia on 25.10.2020.
//
import Foundation
final public class JSONDecoders {
public static func iso8601DateAwareDecoder() -> JSONDecoder {
return ISO8601DateAwareJSONDecoder()
}
}
// MARK: - ISO8601 date aware JSON Decoder
class ISO8601DateAwareJSONDecoder: JSONDecoder {
static internal let dateTimeFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"
let dateFormatter: DateFormatter = DateFormatter()
let calendar = Calendar.current
override init() {
super.init()
dateFormatter.dateFormat = Self.dateTimeFormat
dateDecodingStrategy = .formatted(dateFormatter)
}
}