Use the updated meaning of Z
03Zero numeric offset does not by itself reveal the source’s local time-zone knowledge. RFC 9557 updates the original RFC 3339 interpretation of Z.
+00:00 still indicates UTC as the preferred reference point. Changing every zero-offset spelling to Z may preserve the instant while losing that original context.
Source for this drawing: RFC 3339 · Read RFC section 4.3 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Start with this guide; no earlier guide is needed for the overview.
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
The formal update aligns Z with the original unknown-local-offset meaning of -00:00; +00:00 retains its preferred-UTC-reference meaning. The older -00:00 syntax is not formally deprecated.
Read the updated RFC section ↗Preserve offset meaning as well as the instant.
- Original 2002 wording distinguished -00:00, meaning UTC time known but local offset unknown, from Z or +00:00, which then implied UTC was the preferred reference point.
- RFC 9557 §2.2 updates §4.3: Z now carries the same unknown-local-offset meaning as -00:00. The instant in UTC is still known; this does not make the timestamp ambiguous.
- +00:00 keeps its preferred-UTC-reference implication. RFC 9557 §2.3 says Z should now be used in place of the less interoperable -00:00; the older syntax is not formally deprecated.
The first two states are explicitly historical. Current rules come from the formal 2024 update. All three zero-offset spellings have the same numeric UTC time, but an application may need to retain their descriptive context. RFC 9557 also defines optional extended annotations such as time-zone information; those suffixes belong to that extension and are not silently added to the base RFC 3339 grammar.
Read the RFC section ↗