| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Draft of y2k fix proposal |
* Crossposted from: FTSC-Public
-=> Quoting Mats Wallin to Vincent Danen <=-
VD> and "none" are 100% Y2K compliant due to the problems with
VD> PKT standards.
MW> Being Y2K compliant doesn't require that the year is stored with four
MW> digits anywhere, the only requirement is that a program knows that the
MW> year 2000 (or 00 if using two digits) come after the year 1999 (or 99
MW> if using two digits).
MW> The program just have to compensate for this when reading dates using
MW> two digits for the year. No problem at all, if one is aware about it,
MW> and cares about it.
And given that Type 2 and Type 2+ packets conatain a 2-byte integer
year field in the PKT header, I propose the following standard:
Type 2 and Type 2+ PKT files:
Read and store the Year field from the PKT header (header_year).
All Date fields in the headers of Packed Messages in that PKT must be
treated as if their year (msg_year) is in the range (header_year-49) to
(header_year+49).
Msg_year values that are 50 years from header_year are undefined. It is
suggested that such messages be treated as bad messages.
Example 1:
header_year is 2010, date field is "01 Jan 10 00:00:00"
Last two digits of header_year match msg_year. Therefore
Date of message is 01 Jan 2010.
Example 2:
header_year is 2000, date field is "20 Dec 99 00:00:00"
Last two digits of header_year do not match msg_year. Therefore
adjusted msg_year is either 1999 or 2099. Date of message is
20 Dec 1999, because 2099 is more than 49 years in the future.
Example 3:
header_year is 1999, date field is "01 Jan 00 00:00:00"
Last two digits of header_year do not match msg_year. Therefore
adjusted msg_year is either 1900 or 2000. Date of message is
01 Jan 2000, because 1900 is more than 49 years in the past.
Example 4:
header_year is 2010, date field is "01 Jan 60 00:00:00"
Last two digits of header_year match msg_year. Therefore
adjusted msg_year is either 1960 or 2060. Both are 50 years
from Header_year. Message has invalid date.
Type 2.2 PKT files:
Since the PKT header does *not* contain a year field, the
year from current system date(system_year) must be used. Date fields in
message headers must be treated as if their date is in the range
(system_year-49) to (system_year+49).
Msg_year values that are 50 years from system_year are undefined. It is
suggested that such messages be treated as bad messages.
Example 1:
system_year is 2010, date field is "01 Jan 10 00:00:00"
Last two digits of system_year match msg_year. Therefore
Date of message is 01 Jan 2010.
Example 2:
system_year is 2000, date field is "20 Dec 99 00:00:00"
Last two digits of system_year do not match msg_year. Therefore
adjusted msg_year is either 1999 or 2099. Date of message is
20 Dec 1999, because 2099 is more than 49 years in the future.
Example 3:
system_year is 1999, date field is "01 Jan 00 00:00:00"
Last two digits of system_year do not match msg_year. Therefore
adjusted msg_year is either 1900 or 2000. Date of message is
01 Jan 2000, because 1900 is more than 49 years in the past.
Example 4:
system_year is 2010, date field is "01 Jan 60 00:00:00"
Last two digits of system_year do not match msg_year. Therefore
adjusted msg_year is either 1960 or 2060. Both are 50 years
from system_year. Message has invalid date.
--- Blue Wave/DOS v2.30
* Origin: Shadowshack (1:105/51)SEEN-BY: 20/10 200/0 201/0 100 200 209 300 400 505 600 203/600 204/450 205/0 SEEN-BY: 206/0 270/101 490/21 633/267 270 @PATH: 105/51 360 72 396/1 270/101 201/505 633/267 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.