diff --git a/maya/core.py b/maya/core.py index de55115..dc26c1d 100644 --- a/maya/core.py +++ b/maya/core.py @@ -277,7 +277,7 @@ def rfc2822(self): def rfc3339(self): """Returns an RFC 3339 representation of the MayaDT.""" - return self.datetime().strftime("%Y-%m-%dT%H:%M:%S.%f")[:-4] + "Z" + return self.datetime().strftime("%Y-%m-%dT%H:%M:%S.%f")[:-5] + "Z" # Properties # ---------- diff --git a/tests/test_maya.py b/tests/test_maya.py index 39377d7..8082c02 100644 --- a/tests/test_maya.py +++ b/tests/test_maya.py @@ -245,6 +245,11 @@ def test_rfc3339(): mdt2 = maya.MayaDT.from_rfc3339(out) assert mdt.epoch == mdt2.epoch + rfc3339 = maya.MayaDT.rfc3339(maya.when('2016-01-01T12:03:03Z')) + # it's important that the string has got a "max 1-digit millis" fragment + # as per https://tools.ietf.org/html/rfc3339#section-5.6 + assert rfc3339 == '2016-01-01T12:03:03.0Z' + @pytest.mark.usefixtures("frozen_now") def test_comparison_operations():