com.trolltech.qt.core
Class QTime

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.core.QTime
All Implemented Interfaces:
QtJambiInterface, java.lang.Cloneable, java.lang.Comparable

public class QTime
extends QtJambiObject
implements java.lang.Comparable, java.lang.Cloneable

The QTime class provides clock time functions. A QTime object contains a clock time, i.e. the 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 milliseconds.

QTime uses the 24-hour clock format; it has no concept of AM/PM. Unlike QDateTime, QTime knows nothing about time zones or daylight savings time (DST).

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 creates a QTime object that contains the system's local 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. One 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 seconds or milliseconds between two times can be found using secsTo() or msecsTo().

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

See also:
QDate, and QDateTime.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.PrivateSignal0, QSignalEmitter.PrivateSignal1, QSignalEmitter.PrivateSignal2, QSignalEmitter.PrivateSignal3, QSignalEmitter.PrivateSignal4, QSignalEmitter.PrivateSignal5, QSignalEmitter.PrivateSignal6, QSignalEmitter.PrivateSignal7, QSignalEmitter.PrivateSignal8, QSignalEmitter.PrivateSignal9, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9
 
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal
 
Field Summary
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
QTime()
          Constructs a null time object.
QTime(int h, int m)
          Constructs a time with hour h, minute m, seconds s and milliseconds ms.
QTime(int h, int m, int s)
          Constructs a time with hour h, minute m, seconds s and milliseconds ms.
QTime(int h, int m, int s, int ms)
          Constructs a time with hour h, minute m, seconds s and milliseconds ms.
 
Method Summary
 QTime addMSecs(int ms)
          Returns a QTime object containing a time ms milliseconds later than the time of this object (or earlier if ms is negative).
 QTime addSecs(int secs)
          Returns a QTime object containing a time s seconds later than the time of this object (or earlier if s is negative).
 QTime clone()
          This method is reimplemented for internal reasons
static QTime currentTime()
          This is an overloaded member function, provided for convenience.
 int elapsed()
          Returns the number of milliseconds that have elapsed since the last time start() or restart() was called.
static QTime fromString(java.lang.String s)
          Returns the time represented in the string as a QTime using the format given, or an invalid time if this is not possible.
static QTime fromString(java.lang.String s, Qt.DateFormat f)
          Returns the time represented in the string as a QTime using the format given, or an invalid time if this is not possible.
static QTime fromString(java.lang.String s, java.lang.String format)
          Returns the QTime represented by the string, using the format given, or an invalid time if the string cannot be parsed.
 int hour()
          Returns the hour part (0 to 23) of the time.
 boolean isNull()
          Returns true if the time is null (i.
 boolean isValid()
          Returns true if the time is valid; otherwise returns false.
static boolean isValid(int h, int m, int s)
          This is an overloaded member function, provided for convenience.
static boolean isValid(int h, int m, int s, int ms)
          This is an overloaded member function, provided for convenience.
 int minute()
          Returns the minute part (0 to 59) of the time.
 int msec()
          Returns the millisecond part (0 to 999) of the time.
 int msecsTo(QTime arg__1)
          Returns the number of milliseconds from this time to t.
 void readFrom(QDataStream arg__1)
          Reads a QTime
 int 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.
 int second()
          Returns the second part (0 to 59) of the time.
 int secsTo(QTime arg__1)
          Returns the number of seconds from this time to t.
 boolean setHMS(int h, int m, int s)
          Sets the time to hour h, minute m, seconds s and milliseconds ms.
 boolean setHMS(int h, int m, int s, int ms)
          Sets the time to hour h, minute m, seconds s and milliseconds ms.
 void start()
          Sets this time to the current time.
 java.lang.String toString()
          Returns a string representation of the this QTime.
 java.lang.String toString(Qt.DateFormat f)
          Returns a string representation of the com.trolltech.qt.core.Qt$DateFormat argument.
 java.lang.String toString(java.lang.String format)
          Returns a string representation of the java.lang.String argument.
 void writeTo(QDataStream arg__1)
          Writes thisQTime
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread
 
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
__qt_signalInitialization
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Constructor Detail

QTime

public QTime()
Constructs a null time object. A null time can be a QTime(0, 0, 0, 0) (i.e., midnight) object, except that isNull() returns true and isValid() returns false.

See also:
isNull(), and isValid().


QTime

public QTime(int h,
             int m,
             int s)
Constructs a time with hour h, minute m, seconds s and milliseconds ms.

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

See also:
isValid().


QTime

public QTime(int h,
             int m)
Constructs a time with hour h, minute m, seconds s and milliseconds ms.

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

See also:
isValid().


QTime

public QTime(int h,
             int m,
             int s,
             int ms)
Constructs a time with hour h, minute m, seconds s and milliseconds ms.

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

See also:
isValid().

Method Detail

addMSecs

public final QTime addMSecs(int ms)
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(), and msecsTo().


addSecs

public final QTime addSecs(int secs)
Returns a QTime object containing a time s seconds later than the time of this object (or earlier if s is negative).

Note that the time will wrap if it passes midnight.

Example:

        QTime n = new QTime(14, 0, 0);                // n == 14:00:00
        QTime t = new QTime();
        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(), and QDateTime::addSecs().


elapsed

public final int 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 when daylight savings time is turned on or off.

See also:
start(), and restart().


hour

public final int hour()
Returns the hour part (0 to 23) of the time.

See also:
minute(), second(), and msec().


isNull

public final boolean isNull()
Returns true if the time is null (i. ., the QTime object was constructed using the default constructor); otherwise returns false. A null time is also an invalid time.

See also:
isValid().


isValid

public final boolean isValid()
Returns true if the time is valid; otherwise returns false. For example, the time 23:30:55.746 is valid, but 24:12:30 is invalid.

See also:
isNull().


minute

public final int minute()
Returns the minute part (0 to 59) of the time.

See also:
hour(), second(), and msec().


msec

public final int msec()
Returns the millisecond part (0 to 999) of the time.

See also:
hour(), minute(), and second().


msecsTo

public final int msecsTo(QTime arg__1)
Returns the number of milliseconds from this time to t. If t is earlier than this time, the number of milliseconds returned is negative.

Because QTime measures time within a day and there are 86400 seconds in a day, the result is always between -86400000 and 86400000 ms.

See also:
secsTo(), and addMSecs().


writeTo

public final void writeTo(QDataStream arg__1)
Writes thisQTime


readFrom

public final void readFrom(QDataStream arg__1)
Reads a QTime


restart

public final int 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, and 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 when daylight savings time is turned on or off.

See also:
start(), elapsed(), and currentTime().


second

public final int second()
Returns the second part (0 to 59) of the time.

See also:
hour(), minute(), and msec().


secsTo

public final int secsTo(QTime arg__1)
Returns the number of seconds from this time to t. If t is earlier than this time, the number of seconds returned is negative.

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

secsTo() does not take into account any milliseconds.

See also:
addSecs(), and QDateTime::secsTo().


setHMS

public final boolean setHMS(int h,
                            int m,
                            int s)
Sets the time to hour h, minute m, seconds s and milliseconds ms.

h must be in the range 0 to 23, m and s must be in the range 0 to 59, and ms must be in the range 0 to 999. Returns true if the set time is valid; otherwise returns false.

See also:
isValid().


setHMS

public final boolean setHMS(int h,
                            int m,
                            int s,
                            int ms)
Sets the time to hour h, minute m, seconds s and milliseconds ms.

h must be in the range 0 to 23, m and s must be in the range 0 to 59, and ms must be in the range 0 to 999. Returns true if the set time is valid; otherwise returns false.

See also:
isValid().


start

public final void start()
Sets this time to the current time. This is practical for timing:
        QTime t = new QTime();
        t.start();
        some_lengthy_task();
        System.err.println("Time elapsed: " +t.elapsed() + " ms");

See also:
restart(), elapsed(), and currentTime().


toString

public final java.lang.String toString()
Returns a string representation of the this QTime.

Overrides:
toString in class java.lang.Object

toString

public final java.lang.String toString(Qt.DateFormat f)
Returns a string representation of the com.trolltech.qt.core.Qt$DateFormat argument.


toString

public final java.lang.String toString(java.lang.String format)
Returns a string representation of the java.lang.String argument.


currentTime

public static QTime currentTime()
This is an overloaded member function, provided for convenience.

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.


fromString

public static QTime fromString(java.lang.String s)
Returns the time represented in the string as a QTime using the format given, or an invalid time if this is not possible.

Note that fromString() uses a "C" locale encoded string to convert milliseconds to a float value. If the default locale is not "C", this may result in two conversion attempts (if the conversion fails for the default locale). This should be considered an implementation detail.


fromString

public static QTime fromString(java.lang.String s,
                               Qt.DateFormat f)
Returns the time represented in the string as a QTime using the format given, or an invalid time if this is not possible.

Note that fromString() uses a "C" locale encoded string to convert milliseconds to a float value. If the default locale is not "C", this may result in two conversion attempts (if the conversion fails for the default locale). This should be considered an implementation detail.


fromString

public static QTime fromString(java.lang.String s,
                               java.lang.String format)
Returns the QTime represented by the string, using the format given, or an invalid time if the string cannot be parsed.

These expressions may be used for the format:

Expression
Output
h the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)
hh the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)
m the minute without a leading zero (0 to 59)
mm the minute with a leading zero (00 to 59)
s the second without a leading zero (0 to 59)
ss the second with a leading zero (00 to 59)
z the milliseconds without leading zeroes (0 to 999)
zzz the milliseconds with leading zeroes (000 to 999)
AP interpret as an AM/PM time. AP must be either "AM" or "PM".
ap Interpret as an AM/PM time. ap must be either "am" or "pm".
All other input characters will be treated as text. Any sequence of characters that are enclosed in single quotes will also be treated as text and not be used as an expression.
        QTime time = QTime.fromString("1mm12car00", "m'mm'hcarss");
        // time is 12:01.00
If the format is not satisfied an invalid QTime is returned. Expressions that do not expect leading zeroes to be given (h, m, s and z) are greedy. This means that they will use two digits even if this puts them outside the range of accepted values and leaves too few digits for other sections. For example, the following string could have meant 00:07:10, but the m will grab two digits, resulting in an invalid time:
        QTime time = QTime.fromString("00:710", "hh:ms"); // invalid
Any field that is not represented in the format will be set to zero. For example:
        QTime time = QTime.fromString("1.30", "m.s");
        // time is 00:01:30.000
QDateTime::toString()QTime::toString()

See also:
QDateTime::fromString(), QDate::fromString(), and QDate::toString().


isValid

public static boolean isValid(int h,
                              int m,
                              int s)
This is an overloaded member function, provided for convenience.

Returns true if the specified time is valid; otherwise returns false.

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

Example:

        QTime.isValid(21, 10, 30); // returns true
        QTime.isValid(22, 5,  62); // returns false


isValid

public static boolean isValid(int h,
                              int m,
                              int s,
                              int ms)
This is an overloaded member function, provided for convenience.

Returns true if the specified time is valid; otherwise returns false.

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

Example:

        QTime.isValid(21, 10, 30); // returns true
        QTime.isValid(22, 5,  62); // returns false


clone

public QTime clone()
This method is reimplemented for internal reasons

Overrides:
clone in class java.lang.Object