THE DEFINITION
(PD2000-1:1998)
Year
2000 conformity shall mean that neither performance nor functionality
is affected by dates prior to, during and after the year 2000.
In particular:
-
Rule
1 No value for current date will cause any interruption in operation.
-
Rule
2 Date-based functionality must behave consistently for dates
prior to, during and after year 2000.
-
Rule
3 In all interfaces and data storage, the century in any date
must be specified either explicitly or by unambiguous algorithms
or inferencing rules.
-
Rule
4 Year 2000 must be recognised as a leap year.
AMPLIFICATION
OF THE DEFINITION AND RULES
1. General
Explanation
- Problems
can arise from some means of representing dates in computer equipment
and products and from date-logic embedded in purchased goods or services,
as the year 2000 approaches and during and after that year. As a result,
equipment or products, including embedded control logic, may fail
completely, malfunction or cause data to be corrupted.
- To avoid
such problems, organisations must check, and modify if necessary,
internally produced equipment and products and similarly check externally
supplied equipment and products with their suppliers. The purpose
of this document is to allow such checks to be made on a basis of
common understanding.
- Where
checks are made with external suppliers, care should be taken to distinguish
between claims of conformity and the ability to demonstrate conformity.
2. Amplification
of the definition
- PD2000-1
(all editions) is solely concerned with the performance and functionality
of a single version, release or system. It does not address differences
in performance or functionality between different versions, releases
or systems.
- Variations
in performance immeasurably small in the context of use do not make
a version, release or system non-conformant.
3. Amplification
of the Rules
Rule
1
- This
rule is sometimes known as general integrity.
- If this
requirement is satisfied, roll-over between all significant time demarcations
(e.g. days, months, years, centuries) will be performed correctly.
- Current
date means today’s date as known to the equipment or product,
i.e. the actual date of operation [NOTE - this refers to normal operation
and does not prevent testing.]
Rule
2
- This
rule is sometimes known as date integrity.
- This
rule means that all equipment and products must calculate, manipulate
and represent dates correctly for the purposes for which they were
intended.
- The
meaning of functionality includes both processes and the results
of those processes.
- If desired,
a reference point for date values and calculations may be added by
organisations; e.g. as defined by the Gregorian calendar.
- No equipment
or product shall use particular date values for special meanings;
e.g. "99" to signify "no end value" or "end of file" or "00" to mean
"not applicable" or "beginning of file" unless the values in question
lie outside its possible date range.
Rule
3
This rule
is sometimes known as explicit/implicit century.
It covers
two general approaches:
(a) explicit
representation of the year in dates: e.g. by using four digits
or by including a century indicator. In this case, a reference may
be inserted (e.g. 4-digit years as allowed by ISO 8601:1988) and
it may be necessary to allow for exceptions where domain-specific
standards (e.g. standards relating to Electronic Data Interchange,
Automatic Teller Machines or Bankers Automated Clearing Services)
should have precedence.
(b)
the use of inferencing rules: e.g. two-digit years with
a value greater than 50 imply 19xx, those with a value equal to
or less than 50 imply 20xx. Rules for century inferencing as a whole
must apply to all contexts in which the date is used, although different
inferencing rules may apply to different date sets. Where any date
element is represented without a century, the correct century shall
be unambiguous for all manipulations involving that element.
Rule
4
- A leap
year is defined in ISO 8601:1988 (amended in 1991) as follows:
"year,
leap: In the Gregorian calendar, a year which has 366 days. A leap
year is a year whose number is divisible by four an integral number
of times, except that if it is a centennial year it shall be divisible
by four hundred an integral number of times."
Thus,
for example, 2000 is a leap year but 1900 is not.
4 General
Notes
- For
Rules 1 and 2 in particular, it is recommended that the allowable
ranges for values of current date and dates to be manipulated be documented,
recognising that all systems have some limitation on the valid date
ranges. The ranges may relate to one or more of the feasible life-spans
of equipment or products or the span of dates required to be represented
by the organisation's business processes.
- Tests
for specifically critical dates may also be added (e.g. for leap years,
end of year, etc.). Organisations may wish to append additional material
in support of local requirements.
- Where
the term "century" is used, clear distinction should be made between
the "value" denoting the century (e.g. 20th) and its representation
in dates (e.g. 19xx); similarly, 21st and 20xx.
|