Poco

class Timestamp

Library: Foundation
Package: DateTime
Header: Poco/Timestamp.h

Description

A Timestamp stores a monotonic time value with (theoretical) microseconds resolution. Timestamps can be compared with each other and simple arithmetics are supported. Timestamps are UTC (Coordinated Universal Time) based and thus independent of the timezone in effect on the system.

Member Summary

Member Functions: elapsed, epochMicroseconds, epochTime, fromEpochTime, fromFileTimeNP, fromUtcTime, isElapsed, operator, operator !=, operator +, operator +=, operator -, operator -=, operator <, operator <=, operator =, operator >, operator >=, resolution, swap, toFileTimeNP, update, utcTime

Types

TimeDiff

typedef Int64 TimeDiff;

difference between two timestamps in microseconds

TimeVal

typedef Int64 TimeVal;

monotonic UTC time value in microsecond resolution

UtcTimeVal

typedef Int64 UtcTimeVal;

monotonic UTC time value in 100 nanosecond resolution

Constructors

Timestamp

Timestamp();

Creates a timestamp with the current time.

Timestamp

Timestamp(
    TimeVal tv
);

Creates a timestamp from the given time value.

Timestamp

Timestamp(
    const Timestamp & other
);

Copy constructor.

Destructor

~Timestamp

~Timestamp();

Destroys the timestamp

Member Functions

elapsed inline

TimeDiff elapsed() const;

Returns the time elapsed since the time denoted by the timestamp. Equivalent to Timestamp() - *this.

epochMicroseconds inline

TimeVal epochMicroseconds() const;

Returns the timestamp expressed in microseconds since the Unix epoch, midnight, January 1, 1970.

epochTime inline

std::time_t epochTime() const;

Returns the timestamp expressed in time_t. time_t base time is midnight, January 1, 1970. Resolution is one second.

fromEpochTime static

static Timestamp fromEpochTime(
    std::time_t t
);

Creates a timestamp from a std::time_t.

fromFileTimeNP static

static Timestamp fromFileTimeNP(
    UInt32 fileTimeLow,
    UInt32 fileTimeHigh
);

fromUtcTime static

static Timestamp fromUtcTime(
    UtcTimeVal val
);

Creates a timestamp from a UTC time value.

isElapsed inline

bool isElapsed(
    TimeDiff interval
) const;

Returns true iff the given interval has passed since the time denoted by the timestamp.

operator inline

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

operator != inline

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

operator + inline

Timestamp operator + (
    TimeDiff d
) const;

operator += inline

Timestamp & operator += (
    TimeDiff d
);

operator - inline

Timestamp operator - (
    TimeDiff d
) const;

operator -

TimeDiff operator - (
    const Timestamp & ts
) const;

operator -= inline

Timestamp & operator -= (
    TimeDiff d
);

operator < inline

bool operator < (
    const Timestamp & ts
) const;

operator <= inline

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

operator =

Timestamp & operator = (
    const Timestamp & other
);

operator =

Timestamp & operator = (
    TimeVal tv
);

operator > inline

bool operator > (
    const Timestamp & ts
) const;

operator >= inline

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

resolution static inline

static TimeVal resolution();

Returns the resolution in units per second. Since the timestamp has microsecond resolution, the returned value is always 1000000.

swap

void swap(
    Timestamp & timestamp
);

Swaps the Timestamp with another one.

toFileTimeNP

void toFileTimeNP(
    UInt32 & fileTimeLow,
    UInt32 & fileTimeHigh
) const;

update

void update();

Updates the Timestamp with the current time.

utcTime inline

UtcTimeVal utcTime() const;

Returns the timestamp expressed in UTC-based time. UTC base time is midnight, October 15, 1582. Resolution is 100 nanoseconds.