These informations are valid for
Internet ToolKit version 1.1 and above.
Year 2000 compliance is related to dates. Dates are only
used in Internet ToolKit in date conversion routines
(ITK_Date2Secs, ITK_Secs2Date, ITK_Secs2RFC and
ITK_RFC2Secs).
The first two routines (ITK_Date2Secs and
ITK_Secs2Date) are using dates in 4D format which
is Y2K compliant, so, these routines are also Y2K
compliant.
For the last two routine, Y2K compliance depends on
RFC#822 and RFC#1123 which are defining date formatting.
RFC#822 defines a format were the year uses only 2
digits. RFC#822 formatted string are not Y2K compliant.
RFC#1123 updates RFC#822 format to use 4 digits for
the year (see RFC#1123 page 55). This makes RFC#1123
formatted dates Y2K compliant.
ITK_Secs2RFC converts a date/time value into an
RFC#1123 formatted string, so, this routine is Y2K
compliant.
ITK_RFC2Secs converts an RFC#822 or RFC#1123
formatted string into a date/time value.So there are two
cases:
- If the string is formatted according to RFC#1123
(4 digits for the year), this routine is Y2K
compliant.
- If the date is formatted according to RFC#822
(2 digits for the year), this routine is not Y2K
compliant.
To reduce the effect of RFC#822 formatted dates,
since version 1.1 of ITK, all years below 40 and
considered after year 2000 and all years above 39 are
considered before 2000.
Example:
- "Fri, 28-Jul-95 22:50:10" -> will be
considered as 1995
- "Sat, 01-Jan-00 00:00:00" -> will be
considered as 2000
- "Fri, 25-Dec-20 00:00:00" -> will be
considered as 2020
More information about Year 2000: