ISLEman
Public Member Functions | Static Public Member Functions | Friends | List of all members
QTime Class Reference

The QTime class provides clock time functions. More...

#include <qdatetime.h>

Public Member Functions

 QTime ()
 
 QTime (int h, int m, int s=0, int ms=0)
 
bool isNull () const
 
bool isValid () const
 
int hour () const
 
int minute () const
 
int second () const
 
int msec () const
 
QString toString () const
 
bool setHMS (int h, int m, int s, int ms=0)
 
QTime addSecs (int secs) const
 
int secsTo (const QTime &) const
 
QTime addMSecs (int ms) const
 
int msecsTo (const QTime &) const
 
bool operator== (const QTime &d) const
 
bool operator!= (const QTime &d) const
 
bool operator< (const QTime &d) const
 
bool operator<= (const QTime &d) const
 
bool operator> (const QTime &d) const
 
bool operator>= (const QTime &d) const
 
void start ()
 
int restart ()
 
int elapsed ()
 

Static Public Member Functions

static QTime currentTime ()
 
static bool isValid (int h, int m, int s, int ms=0)
 

Friends

class QDateTime
 
Q_EXPORT QDataStreamoperator<< (QDataStream &, const QTime &)
 
Q_EXPORT QDataStreamoperator>> (QDataStream &, QTime &)
 

Detailed Description

The QTime class provides clock time functions.

A QTime object contains a clock time, i.e. a number of hours, minutes, seconds and milliseconds since midnight. It can read the current time from the system clock, and measure a span of elapsed time. It provides functions for comparing times and for manipulating a time by adding a number of (milli)seconds.

QTime operates with 24-hour clock format; it has no concept of AM/PM. It operates with local time; it does not know anything about time zones or daylight savings time.

A QTime object is typically created either by giving the number of hours, minutes, seconds, and milliseconds explicitly, or by using the static function currentTime(), which makes a QTime object which contains the system's clock time. Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.

The hour(), minute(), second(), and msec() functions provide access to the number of hours, minutes, seconds, and milliseconds of the time. The same information is provided in textual format by the toString() function.

QTime provides a full set of operators to compare two QTime objects. A time is considered smaller than another if it is earlier than the other.

The time a given number of seconds or milliseconds later than a given time can be found using the addSecs() or addMSecs() functions. Correspondingly, the number of (milli)seconds between two times can be found using the secsTo() or msecsTo() functions.

QTime can be used to measure a span of elapsed time using the start(), restart(), and elapsed() functions.

See also
QDate, QDateTime

Constructor & Destructor Documentation

§ QTime() [1/2]

QTime::QTime ( )
inline

Constructs the time 0 hours, minutes, seconds and milliseconds, i.e. 00:00:00.000 (midnight). This is a valid time.

See also
isValid()

§ QTime() [2/2]

QTime::QTime ( int  h,
int  m,
int  s = 0,
int  ms = 0 
)

Constructs a time with hour h, minute m, seconds s and milliseconds ms.

h must be in the range 0-23, m and s must be in the range 0-59, and ms must be in the range 0-999.

See also
isValid()

Member Function Documentation

§ addMSecs()

QTime QTime::addMSecs ( int  ms) const

Returns a QTime object containing a time ms milliseconds later than the time of this object (or earlier if ms is negative).

Note that the time will wrap if it passes midnight. See addSecs() for an example.

See also
addSecs(), msecsTo()

§ addSecs()

QTime QTime::addSecs ( int  nsecs) const

Returns a QTime object containing a time nsecs seconds later than the time of this object (or earlier if ms is negative).

Note that the time will wrap if it passes midnight.

Example:

QTime n( 14, 0, 0 ); // n == 14:00:00
t = n.addSecs( 70 ); // t == 14:01:10
t = n.addSecs( -70 ); // t == 13:58:50
t = n.addSecs( 10*60*60 + 5 ); // t == 00:00:05
t = n.addSecs( -15*60*60 ); // t == 23:00:00
See also
addMSecs(), secsTo(), QDateTime::addSecs()

§ currentTime()

QTime QTime::currentTime ( )
static

Returns the current time, as reported by the system clock.

Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.

§ elapsed()

int QTime::elapsed ( )

Returns the number of milliseconds that have elapsed since the last time start() or restart() was called.

Note that the counter wraps to zero 24 hours after the last call to start() or restart.

Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.

Warning
If the system's clock setting has been changed since the last time start() or restart() was called, the result is undefined. This can happen e.g. when daylight saving is turned on or off.
See also
start(), restart()

§ hour()

int QTime::hour ( ) const

Returns the hour part (0..23) of the time.

§ isNull()

bool QTime::isNull ( ) const
inline

Returns TRUE if the time is equal to 00:00:00.000. A null time is valid.

See also
isValid()

§ isValid() [1/2]

bool QTime::isValid ( ) const

Returns TRUE if the time is valid, or FALSE if the time is invalid. The time 23:30:55.746 is valid, while 24:12:30 is invalid.

See also
isNull()

§ isValid() [2/2]

bool QTime::isValid ( int  h,
int  m,
int  s,
int  ms = 0 
)
static

Returns TRUE if the specified time is valid, otherwise FALSE.

The time is valid if h is in the range 0-23, m and s are in the range 0-59, and ms is in the range 0-999.

Example:

QTime::isValid(21, 10, 30); // returns TRUE
QTime::isValid(22, 5, 62); // returns FALSE

§ minute()

int QTime::minute ( ) const

Returns the minute part (0..59) of the time.

§ msec()

int QTime::msec ( ) const

Returns the millisecond part (0..999) of the time.

§ msecsTo()

int QTime::msecsTo ( const QTime t) const

Returns the number of milliseconds from this time to t (which is negative if t is earlier than this time).

Since QTime measures time within a day and there are 86400000 milliseconds in a day, the result is between -86400000 and 86400000.

See also
secsTo()

§ operator!=()

bool QTime::operator!= ( const QTime t) const
inline

Returns TRUE if this time is different from t, or FALSE if they are equal.

§ operator<()

bool QTime::operator< ( const QTime t) const
inline

Returns TRUE if this time is earlier than t, otherwise FALSE.

§ operator<=()

bool QTime::operator<= ( const QTime t) const
inline

Returns TRUE if this time is earlier than or equal to t, otherwise FALSE.

§ operator==()

bool QTime::operator== ( const QTime t) const
inline

Returns TRUE if this time is equal to t, or FALSE if they are different.

§ operator>()

bool QTime::operator> ( const QTime t) const
inline

Returns TRUE if this time is later than t, otherwise FALSE.

§ operator>=()

bool QTime::operator>= ( const QTime t) const
inline

Returns TRUE if this time is later than or equal to t, otherwise FALSE.

§ restart()

int QTime::restart ( )

Sets this time to the current time, and returns the number of milliseconds that have elapsed since the last time start() or restart() was called.

This function is guaranteed to be atomic, and is thus very handy for repeated measurements: call start() to start the first measurement, then restart() for each later measurement.

Note that the counter wraps to zero 24 hours after the last call to start() or restart().

Warning
If the system's clock setting has been changed since the last time start() or restart() was called, the result is undefined. This can happen e.g. when daylight saving is turned on or off.
See also
start(), elapsed(), currentTime()

§ second()

int QTime::second ( ) const

Returns the second part (0..59) of the time.

§ secsTo()

int QTime::secsTo ( const QTime t) const

Returns the number of seconds from this time to t (which is negative if t is earlier than this time).

Since QTime measures time within a day and there are 86400 seconds in a day, the result is between -86400 and 86400.

See also
addSecs() QDateTime::secsTo()

§ setHMS()

bool QTime::setHMS ( int  h,
int  m,
int  s,
int  ms = 0 
)

Sets the time to hour h, minute m, seconds s and milliseconds ms.

h must be in the range 0-23, m and s must be in the range 0-59, and ms must be in the range 0-999. Returns TRUE if the set time is valid, otherwise FALSE.

See also
isValid()

§ start()

void QTime::start ( )

Sets this time to the current time. This is practical for timing:

t.start(); // start clock
... // some lengthy task
qDebug( "%d\n", t.elapsed() ); // prints # msecs elapsed
See also
restart(), elapsed(), currentTime()

§ toString()

QString QTime::toString ( ) const

Returns the time of this object in a textual format. Milliseconds are not included. The string format is HH:MM:SS, e.g. 1 second before midnight would be "23:59:59".

Friends And Related Function Documentation

§ operator<<

QDataStream & operator<< ( QDataStream s,
const QTime t 
)
friend

Writes a time to the stream.

See also
Format of the QDataStream operators

§ operator>>

QDataStream & operator>> ( QDataStream s,
QTime t 
)
friend

Reads a time from the stream.

See also
Format of the QDataStream operators

The documentation for this class was generated from the following files: