Subj : alternative DateTime (ref: fts-0001.016)
To : Maurice Kinal
From : Alexey Vissarionov
Date : Sat Dec 19 2020 06:48 am
Good ${greeting_time}, Maurice!
18 Dec 2020 06:36:54, you wrote to Andrew Leary:
MK> proposed DateTime = a string 19 bytes long.
MK> Format = "YYYY-MM-DD hh:mm:ss" where,
MK> YYYY = four digit year
MK> MM = two digit month ranging from 01 to 12
MK> DD = two digit day ranging from 01 to 31
MK> hh = two digit hour ranging from 00 to 23
MK> mm = two digit minute ranging from 00 to 59
MK> ss = two digit second ranging from 00 to 59
MK> Since there is no room for the UTC offset DateTime should be set to
MK> UTC in order to avoid confusion. This format will ensure that the
MK> packed message is exactly the same byte length as specified in
MK> fts-0001.016 not counting the ASCII null charater that terminates the
MK> string as per packed MSG header specification for all header strings
MK> (eg To, From, subj, etc).
I've only one question: how would the software distinguish that from older (legacy) date format?
Even if we want everyone migrating to the new software, there should be some transition period, while we _must_ (as in FTA-1006) maintain compatibility. Given that, here's my proposal.
The "Date:" kludge containing the date and time in RFC-3339 format with one variation - allow the space between the time and UTC offset. The "datestr" format for that would be "%F %T %:z" (try `date '+%F %T %:z'`).
Rules:
0. The "Date:" kludge _must_ contain valid time in either "%F %T %:z" or "%F %T%:z" format.
1. Once the "Date:" kludge is present in a received message, the compatible software (that's aware of the "Date:" kludge) _must_ use the time from the kludge.
2. When composing a message, the compatible software _must_ fill the "Date:" kludge and _should_ fill the legacy header with the valid time (considering precision limitation) or it _may_ fill the legacy header with all zero bytes.
This would allow us to get rid of ancient software without breakind almost everything.
Also, the example of the "Date:" kludge can be found in this my message :-)
--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin.ru!gremlin; +vii-cmiii-ccxxix-lxxix-xlii
... god@universe:~ # cvs up && make world
--- /bin/vi
* Origin: ::1 (2:5020/545)