Date: 23 Dec 1995 19:25:43 -0000It indicates the moment that the sender authorized delivery of the message, for example by pressing a Send button. This may be much later than the message's last modification time; it may be much earlier than the message's first trip through a transport protocol such as SMTP.
822 requires that every message include a Date field. This poses a problem for computers that don't know the time (in UTC, not just local time).
For example, the timestamp
Sun, 31 Mar 1996 15:53:10 +0200indicates that the creator's local time is 15:53:10, that the creator's time zone is +0200 (two hours east of UTC), and that the actual time is 31 Mar 1996 13:53:10 in UTC. The day of the week can be omitted:
31 Mar 1996 15:53:10 +0200One can in principle insert extra spaces, tabs, and comments into a timestamp, like any other tokenizable field value:
Mon (Lundi), 4(quatre)May (Mai) 1998(1998-05-04)03 : 04 : 12 +0000Some MUAs produce an innocuous-looking comment, showing the local name for the local time zone, at the end of each timestamp:
Mon, 30 Mar 1998 17:30:39 +1000 (EST)But this confuses some clients: reportedly the MS Exchange Windows 95 email client looks at the EST, converts it into -0500, and then adds -0500 to the correct +1000. I recommend that writers put no tabs or comments into any timestamp, and no spaces before the comma or around the colons.
The day of the week is one of the following atoms: Sun, Mon, Tue, Wed, Thu, Fri, Sat. It must be consistent with the year, the month, and the day of the month.
The day of the month is an atom containing either 1 or 2 digits. Note that days from 1 through 9 can be written as 01 through 09.
The month is one of the following atoms: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.
There are two possibilities for the year:
The hour is an atom containing 2 digits. The minute is an atom containing 2 digits. The second is an atom containing 2 digits.
There are two possibilities for the time zone:
The time shown is the creator's local time. The time shown, minus the zone shown, is the actual time in UTC.
Exception: a zone of -0000 indicates that the local time is unavailable or meaningless, and that the time shown is the actual time in UTC. (In contrast, a zone of +0000 indicates that the time shown is both local time and actual time in UTC.) This special meaning of -0000 was not specified in 822, but it is being widely used and is mentioned in 822bis.
Note that, in a few areas of the world, the difference between local time and UTC is almost never an exact multiple of 1 minute. Implementors can still use -0000 safely in this case.
In practice, clocks are not perfect. Recipients should be aware that timestamps can be wildly inaccurate, sometimes more than ten minutes away from the correct time.
In theory the textual parts of a date can be written in uppercase, lowercase, or any combination. However, I recommend using exactly the spelling shown above.