Library: Foundation
Package: DateTime
Header: Poco/Timestamp.h
A Timestamp stores a monotonic* time value with (theoretical) microseconds resolution. Timestamps can be compared with each other and simple arithmetics are supported.
[*] Note that Timestamp values are only monotonic as long as the systems's clock is monotonic as well (and not, e.g. set back).
Timestamps are UTC (Coordinated Universal Time) based and thus independent of the timezone in effect on the system.
Member Functions: elapsed, epochMicroseconds, epochTime, fromEpochTime, fromUtcTime, isElapsed, operator !=, operator +, operator +=, operator -, operator -=, operator <, operator <=, operator =, operator ==, operator >, operator >=, resolution, swap, update, utcTime
difference between two timestamps in microseconds
monotonic UTC time value in microsecond resolution
typedef Int64 UtcTimeVal;
monotonic UTC time value in 100 nanosecond resolution
Timestamp();
Creates a timestamp with the current time.
Creates a timestamp from the given time value.
Timestamp(
const Timestamp & other
);
Copy constructor.
~Timestamp();
Destroys the timestamp
TimeDiff elapsed() const;
Returns the time elapsed since the time denoted by the timestamp. Equivalent to Timestamp() - *this.
TimeVal epochMicroseconds() const;
Returns the timestamp expressed in microseconds since the Unix epoch, midnight, January 1, 1970.
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.
static Timestamp fromEpochTime(
std::time_t t
);
Creates a timestamp from a std::time_t.
static Timestamp fromUtcTime(
UtcTimeVal val
);
Creates a timestamp from a UTC time value.
bool isElapsed(
TimeDiff interval
) const;
Returns true if and only if the given interval has passed since the time denoted by the timestamp.
bool operator != (
const Timestamp & ts
) const;
Timestamp operator + (
TimeDiff d
) const;
Timestamp & operator += (
TimeDiff d
);
Timestamp operator - (
TimeDiff d
) const;
TimeDiff operator - (
const Timestamp & ts
) const;
Timestamp & operator -= (
TimeDiff d
);
bool operator < (
const Timestamp & ts
) const;
bool operator <= (
const Timestamp & ts
) const;
Timestamp & operator = (
const Timestamp & other
);
Timestamp & operator = (
TimeVal tv
);
bool operator == (
const Timestamp & ts
) const;
bool operator > (
const Timestamp & ts
) const;
bool operator >= (
const Timestamp & ts
) const;
static TimeVal resolution();
Returns the resolution in units per second. Since the timestamp has microsecond resolution, the returned value is always 1000000.
void swap(
Timestamp & timestamp
);
Swaps the Timestamp with another one.
void update();
Updates the Timestamp with the current time.
UtcTimeVal utcTime() const;
Returns the timestamp expressed in UTC-based time. UTC base time is midnight, October 15, 1582. Resolution is 100 nanoseconds.