@@ -257,23 +257,24 @@ end
257257
258258# ISO, YMD
259259_DEFAULT_TYPE_MAP[:timestamptz ] = ZonedDateTime
260- const TIMESTAMPTZ_FORMATS = Dict (
261- ZonedDateTime => (
262- dateformat " y-m-d HH:MM:SSz" ,
263- dateformat " y-m-d HH:MM:SS.sz" ,
264- dateformat " y-m-d HH:MM:SS.ssz" ,
265- dateformat " y-m-d HH:MM:SS.sssz" ,
266- ),
267- UTCDateTime => (
268- dateformat " y-m-d HH:MM:SS" ,
269- dateformat " y-m-d HH:MM:SS.s" ,
270- dateformat " y-m-d HH:MM:SS.ss" ,
271- dateformat " y-m-d HH:MM:SS.sss" ,
272- ),
260+ const TIMESTAMPTZ_ZDT_FORMATS = (
261+ dateformat " y-m-d HH:MM:SSz" ,
262+ dateformat " y-m-d HH:MM:SS.sz" ,
263+ dateformat " y-m-d HH:MM:SS.ssz" ,
264+ dateformat " y-m-d HH:MM:SS.sssz" ,
273265)
266+ const TIMESTAMPTZ_UTC_FORMATS = (
267+ dateformat " y-m-d HH:MM:SS" ,
268+ dateformat " y-m-d HH:MM:SS.s" ,
269+ dateformat " y-m-d HH:MM:SS.ss" ,
270+ dateformat " y-m-d HH:MM:SS.sss" ,
271+ )
272+
273+ timestamptz_formats (:: Type{ZonedDateTime} ) = TIMESTAMPTZ_ZDT_FORMATS
274+ timestamptz_formats (:: Type{UTCDateTime} ) = TIMESTAMPTZ_UTC_FORMATS
274275
275276function _pqparse (:: Type{T} , str:: AbstractString ) where T<: Union{UTCDateTime, ZonedDateTime}
276- formats = TIMESTAMPTZ_FORMATS[T]
277+ formats = timestamptz_formats (T)
277278 for fmt in formats[1 : (end - 1 )]
278279 parsed = tryparse (T, str, fmt)
279280 parsed != = nothing && return parsed
0 commit comments