summaryrefslogtreecommitdiffstats
path: root/doc/y2k.doc
blob: 77f155bf3e2be432091c9aac2f1aadfcefd315fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/****************************************************************************
**
** Qt Year 2000 Compliance
**
** Copyright (C) 1992-2008 Trolltech ASA.  All rights reserved.
**
** This file is part of the Qt GUI Toolkit.
**
** This file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free
** Software Foundation and appearing in the files LICENSE.GPL2
** and LICENSE.GPL3 included in the packaging of this file.
** Alternatively you may (at your option) use any later version
** of the GNU General Public License if such license has been
** publicly approved by Trolltech ASA (or its successors, if any)
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
** or contact the sales department at [email protected].
**
** This file may be used under the terms of the Q Public License as
** defined by Trolltech ASA and appearing in the file LICENSE.QPL
** included in the packaging of this file.  Licensees holding valid Qt
** Commercial licenses may use this file in accordance with the Qt
** Commercial License Agreement provided with the Software.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/

/*! \page y2k.html

\title Year 2000 Compliance Statement

Trolltech defines <i>Year 2000 Compliance</i> 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.

\section1 The API Provided by Qt

Several parts of Qt deal with dates and times:
\list
\i \l QDate - provides date management
\i \l QDateTime - provides date/time management
\i \l QTime - provides time management (within a date)
\i \l QTimer - provides delayed or regular execution of code.
\endlist

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.

\section1 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 \l QFileDialog
(which can sort files by time/date), \l QFileInfo (which operates on
file times/dates) and \l QApplication (which does various internal
housekeeping tasks).

The conversion to <tt>year/month/date</tt> 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.

\section1 Use of System APIs

It is of course impossible for Trolltech 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.
*/