Year 2000 ( Y2K ) Clarification

by Craig T. Dedo

November 9, 1998

1.	Rationale

Recently, some persons and organizations have expressed concern whether standard Fortran really is Year 2000 ( Y2K ) compliant. In some cases, some users of Fortran could have product liability and related legal issues if it is not clear that Fortran is Y2K compliant. This paper is intended to make it clear that standard Fortran is Y2K compliant.

2.	Discussion and Analysis

The only Fortran feature which involves the representation of the calendar year is the DATE_AND_TIME subroutine. An examination of the entire existing text for DATE_AND_TIME tends to indicate that it is the intent of the Fortran standard to require the return of the year in a four digit format (i.e., with the century explicitly given in the year).

•	The description of DATE_AND_TIME specifies that it, "Returns data on a real-time clock and date in a form compatible with the representations defined in ISO 8601:1988."

•	The description of the character DATE argument specifies that the year is represented in the form CCYY , where CC is the century and YY the year within the century.

•	The example at the end of the subsection on DATE_AND_TIME specifies that the first element of the DATE_TIME integer array is 1985, not 85.

Nevertheless, the current text for the first element of the VALUES array argument may be open to possible misinterpretation. The text does not explicitly state that the century information be included in the value of the element. This paper fixes this possible loophole by adding such an explicit requirement.

3.	Edits

[279:6]	Change the line to read:

"VALUES(1)	the year, including the century (for example, 1990), or -HUGE(0) if there is no date available;"

4.	References

J3 / 98 -007r3 , Fortran 2000 Working Draft

[End of J3 / 98-224]