46 Timestamp(
const int seconds,
const unsigned int microseconds );
49 Timestamp(
const int year,
const int month,
const int day,
50 const int hour,
const int minute,
const int second );
53 Timestamp(
const struct timeval& timeval );
75 void round(
int seconds );
194 const char*
toString(
char* buf,
int buflen,
int precision = 3 )
const;
215 struct timeval&
fromDouble(
const double& seconds );
218 struct timeval&
fromIntegers(
const int seconds,
const unsigned int microseconds );
221 struct timeval&
fromIntegers(
const int year,
const int month,
const int day,
222 const int hour,
const int minute,
const int second );
225 struct timeval&
fromString(
const char* timeString );
228 static struct timeval
TimevalFromIntegers( const int seconds, const unsigned int microseconds );
261 Timespan(
const struct timeval& timeval );
281 virtual double asFloat()
const;
327 return Timespan( day * 3600.0 * 24.0 );
331 void sleepFast(
void )
const
333 TimeOffset_ += *
this;
349 const char*
toString(
char* buf,
int buflen,
int precision = 3 )
const;
static const Timespan ZERO_TIMESPAN
Constant value to represent instant of time.
Definition: Timestamp.h:255
const Str toSmallerString() const
Writes the Timestamp as a smaller Str (YYYYmmddHHMM).
Definition: Timestamp.cpp:455
static Timespan Days(int day)
Static allows creation of Timespans denominated in days.
Definition: Timestamp.h:325
*struct tm asStructTm() const
Definition: Timestamp.cpp:163
const struct timeval & getTimeval() const
Get the internal storage.
Definition: Timestamp.h:181
const Str toSmallString() const
Writes the Timestamp as a small Str (YYYYmmdd'T'HHMMSS).
Definition: Timestamp.cpp:446
bool setDuration(const char *duration)
Sets the timespan using an XML-like duration string.
Definition: Timestamp.cpp:848
Timestamp & setToCurrentTime()
Set to the current time.
Definition: Timestamp.cpp:322
bool operator<(const Timestamp &rhs) const
Less-than operator.
Definition: Timestamp.cpp:295
time_t asTimeT() const
Definition: Timestamp.h:97
Timestamp & operator-=(const Timespan &rhs)
Subtraction of a Timespan.
Definition: Timestamp.cpp:224
Timespan elapsed() const
Returns the time elapsed since this timestamp.
Definition: Timestamp.cpp:121
~Timespan()
Destructor.
Definition: Timestamp.h:273
Timespan & operator+=(const Timespan &rhs)
Addition with a Timespan.
Definition: Timestamp.cpp:920
Timestamp & operator+=(const Timespan &rhs)
Addition with a Timespan.
Definition: Timestamp.cpp:211
virtual double asDouble() const
Accessor, convert to double.
Definition: Timestamp.cpp:826
static Timestamp FromMicros(const long long µs)
Named Constructor, set from seconds << 20 + microseconds,.
Definition: Timestamp.cpp:71
void round(int seconds)
Definition: Timestamp.cpp:110
Timestamp & setToMonoTime()
Set to clock that represents monotonic time since some unspecified starting point.
Definition: Timestamp.cpp:348
bool operator>(const Timestamp &rhs) const
Greater-than operator.
Definition: Timestamp.cpp:289
Timespan class, represents a delta of time.
Definition: Timestamp.h:248
static Timespan FromMillis(const long long &millis)
Named Constructor, set from seconds << 10 + milliseconds >> 10.
Definition: Timestamp.cpp:820
const char * toString(char *buf, int buflen, int precision=3) const
Writes the Timestamp as to a unsigned char buffer.
Definition: Timestamp.cpp:418
static const Timestamp EPOCH_START_TIME
Constant value to represent beginning of (1970 Jan 1) epoch.
Definition: Timestamp.h:40
struct timeval & fromString(const char *timeString)
Set the internal storage to the specified ISO9601 string value.
Definition: Timestamp.cpp:692
static Timespan Minutes(int min)
Static allows creation of Timespans denominated in minutes.
Definition: Timestamp.h:313
void toTimespec(struct timespec *) const
Internal conversion function.
Definition: Timestamp.cpp:393
static struct timeval TimevalFromMillis(const long long &millis)
Returns a struct timeval from asMillis() result.
Definition: Timestamp.cpp:757
Timestamp operator-(const Timespan &rhs) const
Subtraction from Timespan.
Definition: Timestamp.cpp:250
static Timespan FromMicros(const long long µs)
Named Constructor, set from seconds << 20 + microseconds,.
Definition: Timestamp.cpp:814
void addFromMicros(const long long µs)
add seconds << 20 + microseconds
Definition: Timestamp.cpp:85
static struct timeval TimevalFromMicros(const long long µs)
Returns a struct timeval from asMicros() result.
Definition: Timestamp.cpp:749
static const Timestamp NOT_SET_TIME
Constant value to represent "no time".
Definition: Timestamp.h:37
bool operator<=(const Timestamp &rhs) const
Greater-than-equal operator.
Definition: Timestamp.cpp:307
void sleepFor(void) const
Sleep for the timespan.
Definition: Timestamp.cpp:951
bool operator>=(const Timestamp &rhs) const
Less-than-equal operator.
Definition: Timestamp.cpp:301
virtual ~Timestamp()
Destructor.
Definition: Timestamp.h:78
bool operator!=(const Timestamp &rhs) const
Equalities/inequalities.
Definition: Timestamp.cpp:276
static Timestamp Now()
Static for current time for use on RHS.
Definition: Timestamp.cpp:362
virtual double asFloat() const
Accessor, convert to float.
Definition: Timestamp.cpp:133
Timestamp(const double &seconds)
Constructor, set time from double.
Definition: Timestamp.cpp:37
Replacement for standard template class string.
Definition: Str.h:12
static Timespan Seconds(double sec)
Static allows creation of Timespans denominated in seconds (as a float) This function originally took...
Definition: Timestamp.h:307
void sleepTill()
Sleep until the given time.
Definition: Timestamp.cpp:386
const Str toDateHourString() const
Writes the Timestamp as a date-hour Str (YYYYmmddHH).
Definition: Timestamp.cpp:464
const char * toString(char *buf, int buflen, int precision=3) const
Writes the Timespan to a unsigned char buffer.
Definition: Timestamp.cpp:963
struct timeval & fromDouble(const double &seconds)
Set the internal storage to the specified value.
Definition: Timestamp.cpp:472
virtual double asFloat() const
Accessor, convert to float.
Definition: Timestamp.cpp:836
virtual double asDouble() const
Accessor, convert to double.
Definition: Timestamp.cpp:127
void addFromMillis(const long long &millis)
add seconds << 10 + microseconds >> 10
Definition: Timestamp.cpp:94
Timestamp operator+(const Timespan &rhs) const
Addition to Timespan.
Definition: Timestamp.cpp:245
Timestamp & operator=(const Timestamp &rhs)
Copy operator.
Definition: Timestamp.cpp:176
static struct timeval TimevalFromIntegers(const int seconds, const unsigned int microseconds)
Returns a struct timeval from the specified values.
Definition: Timestamp.cpp:741
struct timeval & fromIntegers(const int seconds, const unsigned int microseconds)
Set the internal storage to the specified values.
Definition: Timestamp.cpp:765
void fromTimespec(const struct timespec *in)
Internal conversion function.
Definition: Timestamp.cpp:404
Timespan(const double &seconds)
Constructor, set time from double.
Definition: Timestamp.cpp:797
long long asMillis() const
Quickly returns the (seconds << 10) + (microseconds >> 10) (42 bits)
Definition: Timestamp.cpp:146
long long asMicros() const
Quickly returns the (seconds << 20) + microseconds (52 bits)
Definition: Timestamp.cpp:139
struct timeval timeval_
Internal storage for time.
Definition: Timestamp.h:212
Timespan & operator-=(const Timespan &rhs)
Subtraction of a Timespan.
Definition: Timestamp.cpp:933
static Timestamp FromMillis(const long long &millis)
Named Constructor, set from seconds << 10 + milliseconds >> 10.
Definition: Timestamp.cpp:103
static const Timespan INVALID_TIMESPAN
Constant value to represent an invalid timespan.
Definition: Timestamp.h:252
static Timespan Hours(int hour)
Static allows creation of Timespans denominated in hours.
Definition: Timestamp.h:319
Represents absolute times.
Definition: Timestamp.h:31
bool operator==(const Timestamp &rhs) const
Equalities/inequalities.
Definition: Timestamp.cpp:267
static Timespan Milliseconds(float msec)
Static allows creation of Timespans denominated in milliseconds.
Definition: Timestamp.h:298