Year 2000 Compliance Statement for Qt

# Year 2000 Compliance Statement

Troll Tech defines Year 2000 Compliance as a requirement that a product or part of product does not contain errors related to transition from December 31, 1999 to January 1, 2000, or to the existence of February 29, 2000.

This document certifies that the API provided by Qt and the implementation of Qt are both Year 2000 Compliant, and that the use of underlying APIs by Qt does not have any known problems.

## The API Provided by Qt

Several parts of Qt deal with dates and times:

- QDate - provides date management
- QDateTime - provides date/time management
- QTime - provides time management (within a date)
- QTimer - provides delayed or regular execution of code.

All of these classes' external APIs are Year 2000 Compliant: QDate and QDateTime offer only four-digit years as output, QTime and QTimer do not deal with years or leap days at all.

## Implementation Issues in Qt

All date/time calculation and storage in Qt uses number of days, seconds or milliseconds, and is thus Year 2000 Compliant.

This applies to the above four classes and also to QFileDialog (which can sort files by time/date), QFileInfo (which operates on file times/dates) and QApplication (which does various internal housekeeping tasks).

The conversion to `year/month/date` format in QDate (and QDateTime) has been verified to be correct for all of December 31, 1999, January 1, 2000, February 28 and 29, 2000, March 1, 2000, January 1, 2001 and March 1, 2001.

Qt has been verified to be robust in case of time/date errors (such as time warps) in the underlying operating system.

## Use of System APIs

It is of course impossible for Troll Tech to ensure that both of the window systems and all of the operating systems on which Qt runs are Year 2000 Compliant. However, Qt does not use any APIs that are known to have any Year 2000-related bugs, or seem at risk to have any.