From 834ad955e382bd25524af696ae450662719d663b Mon Sep 17 00:00:00 2001 From: "Kristijan \"Fremen\" Velkovski" Date: Wed, 6 Nov 2024 00:13:19 -0600 Subject: [PATCH] Add FORMAT_RFC3339_STRICT with a T separator. --- arrow/__init__.py | 2 ++ arrow/formatter.py | 1 + tests/test_formatter.py | 7 +++++++ 3 files changed, 10 insertions(+) diff --git a/arrow/__init__.py b/arrow/__init__.py index bc5970970..9232b379c 100644 --- a/arrow/__init__.py +++ b/arrow/__init__.py @@ -11,6 +11,7 @@ FORMAT_RFC1123, FORMAT_RFC2822, FORMAT_RFC3339, + FORMAT_RFC3339_STRICT, FORMAT_RSS, FORMAT_W3C, ) @@ -33,6 +34,7 @@ "FORMAT_RFC1123", "FORMAT_RFC2822", "FORMAT_RFC3339", + "FORMAT_RFC3339_STRICT", "FORMAT_RSS", "FORMAT_W3C", "ParserError", diff --git a/arrow/formatter.py b/arrow/formatter.py index 8cd61e908..6634545f0 100644 --- a/arrow/formatter.py +++ b/arrow/formatter.py @@ -17,6 +17,7 @@ FORMAT_RFC1123: Final[str] = "ddd, DD MMM YYYY HH:mm:ss Z" FORMAT_RFC2822: Final[str] = "ddd, DD MMM YYYY HH:mm:ss Z" FORMAT_RFC3339: Final[str] = "YYYY-MM-DD HH:mm:ssZZ" +FORMAT_RFC3339_STRICT: Final[str] = "YYYY-MM-DDTHH:mm:ssZZ" FORMAT_RSS: Final[str] = "ddd, DD MMM YYYY HH:mm:ss Z" FORMAT_W3C: Final[str] = "YYYY-MM-DD HH:mm:ssZZ" diff --git a/tests/test_formatter.py b/tests/test_formatter.py index 36e15d9fc..0b514ad9c 100644 --- a/tests/test_formatter.py +++ b/tests/test_formatter.py @@ -13,6 +13,7 @@ FORMAT_RFC1123, FORMAT_RFC2822, FORMAT_RFC3339, + FORMAT_RFC3339_STRICT, FORMAT_RSS, FORMAT_W3C, ) @@ -254,6 +255,12 @@ def test_rfc3339(self): == "1975-12-25 14:15:16-05:00" ) + def test_rfc3339_strict(self): + assert ( + self.formatter.format(self.datetime, FORMAT_RFC3339_STRICT) + == "1975-12-25T14:15:16-05:00" + ) + def test_rss(self): assert ( self.formatter.format(self.datetime, FORMAT_RSS)