class Poco::Timespan

Overview

A class that represents time spans up to microsecond resolution. Moreā€¦

#include <Timespan.h>

class Timespan
{
public:
    // typedefs

    typedef Timestamp::TimeDiff TimeDiff;

    // fields

    static const TimeDiff MILLISECONDS;
    static const TimeDiff SECONDS;
    static const TimeDiff MINUTES;
    static const TimeDiff HOURS;
    static const TimeDiff DAYS;

    // construction

    Timespan();
    Timespan(TimeDiff microseconds);

    Timespan(
        long seconds,
        long microseconds
        );

    Timespan(
        int days,
        int hours,
        int minutes,
        int seconds,
        int microSeconds
        );

    Timespan(const Timespan& timespan);

    // methods

    Timespan&
    operator=(const Timespan& timespan);

    Timespan&
    operator=(TimeDiff microseconds);

    Timespan&
    assign(
        int days,
        int hours,
        int minutes,
        int seconds,
        int microSeconds
        );

    Timespan&
    assign(
        long seconds,
        long microseconds
        );

    void
    swap(Timespan& timespan);

    bool
    operator==(const Timespan& ts) const;

    bool
    operator!=(const Timespan& ts) const;

    bool
    operator>(const Timespan& ts) const;

    bool
    operator>=(const Timespan& ts) const;

    bool
    operator<(const Timespan& ts) const;

    bool
    operator<=(const Timespan& ts) const;

    bool
    operator==(TimeDiff microSeconds) const;

    bool
    operator!=(TimeDiff microSeconds) const;

    bool
    operator>(TimeDiff microSeconds) const;

    bool
    operator>=(TimeDiff microSeconds) const;

    bool
    operator<(TimeDiff microSeconds) const;

    bool
    operator<=(TimeDiff microSeconds) const;

    Timespan
    operator+(const Timespan& d) const;

    Timespan
    operator-(const Timespan& d) const;

    Timespan&
    operator+=(const Timespan& d);

    Timespan&
    operator-=(const Timespan& d);

    Timespan
    operator+(TimeDiff microSeconds) const;

    Timespan
    operator-(TimeDiff microSeconds) const;

    Timespan&
    operator+=(TimeDiff microSeconds);

    Timespan&
    operator-=(TimeDiff microSeconds);

    int
    days() const;

    int
    hours() const;

    int
    totalHours() const;

    int
    minutes() const;

    int
    totalMinutes() const;

    int
    seconds() const;

    int
    totalSeconds() const;

    int
    milliseconds() const;

    TimeDiff
    totalMilliseconds() const;

    int
    microseconds() const;

    int
    useconds() const;

    TimeDiff
    totalMicroseconds() const;
};

Detailed Documentation

A class that represents time spans up to microsecond resolution.

Fields

static const TimeDiff MILLISECONDS

The number of microseconds in a millisecond.

static const TimeDiff SECONDS

The number of microseconds in a second.

static const TimeDiff MINUTES

The number of microseconds in a minute.

static const TimeDiff HOURS

The number of microseconds in a hour.

static const TimeDiff DAYS

The number of microseconds in a day.

Construction

Timespan()

Creates a zero Timespan.

Timespan(TimeDiff microseconds)

Creates a Timespan.

Timespan(
    long seconds,
    long microseconds
    )

Creates a Timespan.

Useful for creating a Timespan from a struct timeval.

Timespan(
    int days,
    int hours,
    int minutes,
    int seconds,
    int microSeconds
    )

Creates a Timespan.

Timespan(const Timespan& timespan)

Creates a Timespan from another one.

Methods

Timespan&
operator=(const Timespan& timespan)

Assignment operator.

Timespan&
operator=(TimeDiff microseconds)

Assignment operator.

Timespan&
assign(
    int days,
    int hours,
    int minutes,
    int seconds,
    int microSeconds
    )

Assigns a new span.

Timespan&
assign(
    long seconds,
    long microseconds
    )

Assigns a new span.

Useful for assigning from a struct timeval.

void
swap(Timespan& timespan)

Swaps the Timespan with another one.

int
days() const

Returns the number of days.

int
hours() const

Returns the number of hours (0 to 23).

int
totalHours() const

Returns the total number of hours.

int
minutes() const

Returns the number of minutes (0 to 59).

int
totalMinutes() const

Returns the total number of minutes.

int
seconds() const

Returns the number of seconds (0 to 59).

int
totalSeconds() const

Returns the total number of seconds.

int
milliseconds() const

Returns the number of milliseconds (0 to 999).

TimeDiff
totalMilliseconds() const

Returns the total number of milliseconds.

int
microseconds() const

Returns the fractions of a millisecond in microseconds (0 to 999).

int
useconds() const

Returns the fractions of a second in microseconds (0 to 999999).

TimeDiff
totalMicroseconds() const

Returns the total number of microseconds.