From d968486473cf89353758d958ea76bcbcc8a14422 Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Sat, 28 Mar 2026 21:43:55 -0500 Subject: [PATCH] Fix vCard 4 REV timestamp parsing --- src/vcard/vcard4.nim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/vcard/vcard4.nim b/src/vcard/vcard4.nim index 9cd95c9..97cec9a 100644 --- a/src/vcard/vcard4.nim +++ b/src/vcard/vcard4.nim @@ -184,10 +184,10 @@ const supportedParams: Table[string, HashSet[VC4_PropertyName]] = [ ].toTable const TIMESTAMP_FORMATS = [ - "yyyyMMdd'T'hhmmssZZZ", - "yyyyMMdd'T'hhmmssZZ", - "yyyyMMdd'T'hhmmssZ", - "yyyyMMdd'T'hhmmss" + "yyyyMMdd'T'HHmmssZZZ", + "yyyyMMdd'T'HHmmssZZ", + "yyyyMMdd'T'HHmmssZ", + "yyyyMMdd'T'HHmmss" ] const TEXT_CHARS = WSP + NON_ASCII + { '\x21'..'\x2B', '\x2D'..'\x7E' } @@ -472,7 +472,7 @@ proc parseDateAndOrTime[T]( proc parseTimestamp(value: string): DateTime = for fmt in TIMESTAMP_FORMATS: - try: return value.parse(fmt) + try: return value.parse(fmt, utc()) except: discard raise newException(VCardParsingError, "unable to parse timestamp value: " & value)