The QDateTime class provides date and time functions.
More...
All the functions in this class are
reentrant
when Qt is built with thread support.
#include <
qdatetime.h
>
List of all member functions.
Public Members
QDateTime
( const QDate & date, const QTime & time )
void
setDate
( const QDate & date )
void
setTime
( const QTime & time )
void
setTime_t
( uint secsSince1Jan1970UTC, Qt::TimeSpec ts )
QString
toString
( Qt::DateFormat f = Qt::TextDate ) const
QString
toString
( const QString & format ) const
QDateTime
addDays
( int ndays ) const
QDateTime
addSecs
( int nsecs ) const
int
daysTo
( const QDateTime & dt ) const
int
secsTo
( const QDateTime & dt ) const
bool
operator<
( const QDateTime & dt ) const
bool
operator>
( const QDateTime & dt ) const
Static Public Members
QDateTime
fromString
( const QString & s, Qt::DateFormat f = Qt::TextDate )
Related Functions
QDataStream &
operator<<
( QDataStream & s, const QDateTime & dt )
QDataStream &
operator>>
( QDataStream & s, QDateTime & dt )
Detailed Description
The QDateTime class provides date and time functions.
A QDateTime object contains a calendar date and a clock time (a
"datetime"). It is a combination of the
QDate
and
QTime
classes.
It can read the current datetime from the system clock. It
provides functions for comparing datetimes and for manipulating a
datetime by adding a number of seconds, days, months or years.
A QDateTime object is typically created either by giving a date
and time explicitly in the constructor, or by using the static
function
currentDateTime
(), which returns a QDateTime object set
to the system clock's time. The date and time can be changed with
setDate
() and
setTime
(). A datetime can also be set using the
setTime_t
() function, which takes a POSIX-standard "number of
seconds since 00:00:00 on January 1, 1970" value. The
fromString
()
function returns a QDateTime given a string and a date format
which is used to interpret the date within the string.
The
date
() and
time
() functions provide access to the date and
time parts of the datetime. The same information is provided in
textual format by the
toString
() function.
QDateTime provides a full set of operators to compare two
QDateTime objects where smaller means earlier and larger means
later.
You can increment (or decrement) a datetime by a given number of
seconds using
addSecs
() or days using
addDays
(). Similarly you can
use
addMonths
() and
addYears
(). The
daysTo
() function returns the
number of days between two datetimes, and
secsTo
() returns the
number of seconds between two datetimes.
The range of a datetime object is constrained to the ranges of the
QDate
and
QTime
objects which it embodies.
See also
QDate
,
QTime
,
QDateTimeEdit
, and
Time and Date
.
Member Function Documentation
See also
isValid
().
QDateTime::QDateTime ( const
QDate
& date )
Constructs a datetime with date
date
and null (but valid) time
(00:00:00.000).
QDateTime::QDateTime ( const
QDate
& date, const
QTime
& time )
Constructs a datetime with date
date
and time
time
.
See also
daysTo
(),
addMonths
(),
addYears
(), and
addSecs
().
See also
daysTo
(),
addDays
(),
addYears
(), and
addSecs
().
See also
secsTo
(),
addDays
(),
addMonths
(), and
addYears
().
Example:
listviews/listviews.cpp
.
See also
daysTo
(),
addDays
(),
addMonths
(), and
addSecs
().
QDateTime
QDateTime::currentDateTime (
Qt::TimeSpec
ts )
[static]
Returns the current datetime, as reported by the system clock, for the
TimeSpec
ts
. The default TimeSpec is LocalTime.
See also
QDate::currentDate
(),
QTime::currentTime
(), and
Qt::TimeSpec
.
Example:
listviews/listviews.cpp
.
See also
QDate::currentDate
() and
QTime::currentTime
().
See also
setDate
() and
time
().
int
QDateTime::daysTo ( const
QDateTime
& dt ) const
Returns the number of days from this datetime to
dt
(which is
negative if
dt
is earlier than this datetime).
See also
addDays
() and
secsTo
().
QDateTime
QDateTime::fromString ( const
QString
& s,
Qt::DateFormat
f = Qt::TextDate )
[static]
Returns the QDateTime represented by the string
s
, using the
format
f
, or an invalid datetime if this is not possible.
Note for
Qt::TextDate
: It is recommended that you use the
English short month names (e.g. "Jan"). Although localized month
names can also be used, they depend on the user's locale settings.
Warning:
Note that
Qt::LocalDate
cannot be used here.
See also
QDate::isNull
() and
QTime::isNull
().
See also
QDate::isValid
() and
QTime::isValid
().
bool
QDateTime::operator!= ( const
QDateTime
& dt ) const
Returns TRUE if this datetime is different from
dt
; otherwise
returns FALSE.
See also
operator==
().
bool
QDateTime::operator< ( const
QDateTime
& dt ) const
Returns TRUE if this datetime is earlier than
dt
; otherwise
returns FALSE.
bool
QDateTime::operator<= ( const
QDateTime
& dt ) const
Returns TRUE if this datetime is earlier than or equal to
dt
;
otherwise returns FALSE.
bool
QDateTime::operator== ( const
QDateTime
& dt ) const
Returns TRUE if this datetime is equal to
dt
; otherwise returns FALSE.
See also
operator!=
().
bool
QDateTime::operator> ( const
QDateTime
& dt ) const
Returns TRUE if this datetime is later than
dt
; otherwise
returns FALSE.
bool
QDateTime::operator>= ( const
QDateTime
& dt ) const
Returns TRUE if this datetime is later than or equal to
dt
;
otherwise returns FALSE.
int
QDateTime::secsTo ( const
QDateTime
& dt ) const
Returns the number of seconds from this datetime to
dt
(which
is negative if
dt
is earlier than this datetime).
Example:
QDateTime dt = QDateTime::
currentDateTime
();
QDateTime xmas( QDate(dt.year(),12,24), QTime(17,00) );
qDebug
( "There are %d seconds to Christmas", dt.
secsTo
(xmas) );
See also
addSecs
(),
daysTo
(), and
QTime::secsTo
().
Sets the date part of this datetime to
date
.
See also
date
() and
setTime
().
Sets the time part of this datetime to
time
.
See also
time
() and
setDate
().
void
QDateTime::setTime_t ( uint secsSince1Jan1970UTC,
Qt::TimeSpec
ts )
Sets the date and time to
ts
time (
Qt::LocalTime
or
Qt::UTC
) given the number of seconds that have passed since
1970-01-01T00:00:00, Coordinated Universal Time (UTC). On systems
that do not support timezones this function will behave as if
local time were UTC.
On Windows, only a subset of
secsSince1Jan1970UTC
values are
supported, as Windows starts counting from 1980.
See also
toTime_t
().
See also
setTime
() and
date
().
QString
QDateTime::toString ( const
QString
& format ) const
Returns the datetime as a string. The
format
parameter
determines the format of the result string.
These expressions may be used for the date:
Expression Output
d the day as number without a leading zero (1-31)
dd the day as number with a leading zero (01-31)
the abbreviated localized day name (e.g. 'Mon'..'Sun').
Uses
QDate::shortDayName
().
the long localized day name (e.g. 'Monday'..'Sunday').
Uses
QDate::longDayName
().
M the month as number without a leading zero (1-12)
MM the month as number with a leading zero (01-12)
the abbreviated localized month name (e.g. 'Jan'..'Dec').
Uses
QDate::shortMonthName
().
the long localized month name (e.g. 'January'..'December').
Uses
QDate::longMonthName
().
yy the year as two digit number (00-99)
yyyy the year as four digit number (1752-8000)
These expressions may be used for the time:
Expression Output
the hour without a leading zero (0..23 or 1..12 if AM/PM display)
the hour with a leading zero (00..23 or 01..12 if AM/PM display)
m the minute without a leading zero (0..59)
mm the minute with a leading zero (00..59)
s the second whithout a leading zero (0..59)
ss the second whith a leading zero (00..59)
z the milliseconds without leading zeroes (0..999)
zzz the milliseconds with leading zeroes (000..999)
use AM/PM display.
AP
will be replaced by either "AM" or "PM".
use am/pm display.
ap
will be replaced by either "am" or "pm".
All other input characters will be ignored.
Example format strings (assumed that the QDateTime is
21
st
May 2001 14:13:09)
Format Result
dd.MM.yyyy 21.05.2001
ddd MMMM d yy Tue May 21 01
hh:mm:ss.zzz 14:13:09.042
h:m:s ap 2:13:9 pm
See also
QDate::toString
() and
QTime::toString
().
QString
QDateTime::toString (
Qt::DateFormat
f = Qt::TextDate ) const
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
Returns the datetime as a string. The
f
parameter determines
the format of the string.
If
f
is
Qt::TextDate
, the string format is "Wed May 20
03:40:13 1998" (using
QDate::shortDayName
(),
QDate::shortMonthName
(),
and
QTime::toString
() to generate the string, so the day and month
names will have localized names).
If
f
is
Qt::ISODate
, the string format corresponds to the
ISO 8601 extended specification for representations of dates and
times, which is YYYY-MM-DDTHH:MM:SS.
If
f
is
Qt::LocalDate
, the string format depends on the
locale settings of the system.
If the format
f
is invalid,
toString
() returns a null string.
See also
QDate::toString
() and
QTime::toString
().
uint
QDateTime::toTime_t () const
Returns the datetime as the number of seconds that have passed
since 1970-01-01T00:00:00, Coordinated Universal Time (UTC).
On systems that do not support timezones, this function will
behave as if local time were UTC.
See also
setTime_t
().
Related Functions
QDataStream
&
operator<< (
QDataStream
& s, const
QDateTime
& dt )
Writes the datetime
dt
to the stream
s
.
See also
Format of the QDataStream operators
.
QDataStream
&
operator>> (
QDataStream
& s,
QDateTime
& dt )
Reads a datetime from the stream
s
into
dt
.
See also
Format of the QDataStream operators
.
This file is part of the
Qt toolkit
.
Trolltech
. All Rights Reserved.