DateTime Class Reference

Represents a point in time. More...

#include <ArmarXCore/core/time/DateTime.h>

Public Member Functions

ClockType clockType () const
 
 DateTime ()
 
 DateTime (const IceUtil::Time &ice)
 
 DateTime (Duration timeSinceEpoch, ClockType clock=ClockType::Virtual, const std::string &hostname="unknown")
 
 DateTime (std::int64_t microSecondsSinceEpoch, ClockType clock=ClockType::Virtual, const std::string &hostname="unknown")
 
std::string hostname () const
 
bool isInvalid () const
 
bool isValid () const
 
 operator IceUtil::Time () const
 
bool operator!= (const DateTime &rhs) const
 
DateTime operator+ (const Duration &rhs) const
 
DateTimeoperator+= (const Duration &rhs)
 
Duration operator- (const DateTime &rhs) const
 
DateTime operator- (const Duration &rhs) const
 
DateTimeoperator-= (const Duration &rhs)
 
bool operator< (const DateTime &rhs) const
 
bool operator<= (const DateTime &rhs) const
 
bool operator== (const DateTime &rhs) const
 
bool operator> (const DateTime &rhs) const
 
bool operator>= (const DateTime &rhs) const
 
std::string toDateString () const
 
std::string toDateTimeString () const
 
Duration toDurationSinceEpoch () const
 
std::int64_t toMicroSeconds () const
 
std::int64_t toMicroSecondsSinceEpoch () const
 
std::int64_t toMilliSecondsSinceEpoch () const
 
std::int64_t toSecondsSinceEpoch () const
 
std::string toString (const std::string &format) const
 String representation of current date time according to given format string.
 
std::string toTimeString () const
 

Static Public Member Functions

static DateTime Invalid ()
 
static DateTime microSeconds (long microSeconds)
 
static DateTime Now ()
 
static DateTime now ()
 

Protected Attributes

ClockType _clockType
 
std::string _hostname
 
Duration _timeSinceEpoch
 

Static Protected Attributes

static const Duration _invalidTimeSinceEpoch
 

Detailed Description

Represents a point in time.

API and implementation to match IceUtil::Time (where applicable).

Definition at line 24 of file DateTime.h.

Constructor & Destructor Documentation

◆ DateTime() [1/4]

DateTime ( )

Definition at line 17 of file DateTime.cpp.

◆ DateTime() [2/4]

DateTime ( Duration timeSinceEpoch,
ClockType clock = ClockType::Virtual,
const std::string & hostname = "unknown" )

Definition at line 22 of file DateTime.cpp.

◆ DateTime() [3/4]

DateTime ( std::int64_t microSecondsSinceEpoch,
ClockType clock = ClockType::Virtual,
const std::string & hostname = "unknown" )

Definition at line 28 of file DateTime.cpp.

◆ DateTime() [4/4]

DateTime ( const IceUtil::Time & ice)

Definition at line 38 of file DateTime.cpp.

Member Function Documentation

◆ clockType()

ClockType clockType ( ) const

Definition at line 111 of file DateTime.cpp.

◆ hostname()

std::string hostname ( ) const

Definition at line 117 of file DateTime.cpp.

◆ Invalid()

DateTime Invalid ( )
static

Definition at line 57 of file DateTime.cpp.

+ Here is the caller graph for this function:

◆ isInvalid()

bool isInvalid ( ) const

Definition at line 129 of file DateTime.cpp.

◆ isValid()

bool isValid ( ) const

Definition at line 123 of file DateTime.cpp.

◆ microSeconds()

static DateTime microSeconds ( long microSeconds)
inlinestatic

Definition at line 94 of file DateTime.h.

◆ Now()

DateTime Now ( )
static

Definition at line 51 of file DateTime.cpp.

+ Here is the caller graph for this function:

◆ now()

static DateTime now ( )
inlinestatic

Definition at line 87 of file DateTime.h.

+ Here is the caller graph for this function:

◆ operator IceUtil::Time()

operator IceUtil::Time ( ) const

Definition at line 43 of file DateTime.cpp.

◆ operator!=()

bool operator!= ( const DateTime & rhs) const

Definition at line 197 of file DateTime.cpp.

◆ operator+()

DateTime operator+ ( const Duration & rhs) const

Definition at line 135 of file DateTime.cpp.

◆ operator+=()

DateTime & operator+= ( const Duration & rhs)

Definition at line 141 of file DateTime.cpp.

◆ operator-() [1/2]

Duration operator- ( const DateTime & rhs) const

Definition at line 161 of file DateTime.cpp.

◆ operator-() [2/2]

DateTime operator- ( const Duration & rhs) const

Definition at line 148 of file DateTime.cpp.

◆ operator-=()

DateTime & operator-= ( const Duration & rhs)

Definition at line 154 of file DateTime.cpp.

◆ operator<()

bool operator< ( const DateTime & rhs) const

Definition at line 166 of file DateTime.cpp.

◆ operator<=()

bool operator<= ( const DateTime & rhs) const

Definition at line 172 of file DateTime.cpp.

◆ operator==()

bool operator== ( const DateTime & rhs) const

Definition at line 179 of file DateTime.cpp.

◆ operator>()

bool operator> ( const DateTime & rhs) const

Definition at line 185 of file DateTime.cpp.

◆ operator>=()

bool operator>= ( const DateTime & rhs) const

Definition at line 191 of file DateTime.cpp.

◆ toDateString()

std::string toDateString ( ) const

Definition at line 63 of file DateTime.cpp.

◆ toDateTimeString()

std::string toDateTimeString ( ) const

Definition at line 75 of file DateTime.cpp.

◆ toDurationSinceEpoch()

Duration toDurationSinceEpoch ( ) const

Definition at line 105 of file DateTime.cpp.

◆ toMicroSeconds()

std::int64_t toMicroSeconds ( ) const
inline

Definition at line 101 of file DateTime.h.

◆ toMicroSecondsSinceEpoch()

std::int64_t toMicroSecondsSinceEpoch ( ) const

Definition at line 87 of file DateTime.cpp.

◆ toMilliSecondsSinceEpoch()

std::int64_t toMilliSecondsSinceEpoch ( ) const

Definition at line 93 of file DateTime.cpp.

◆ toSecondsSinceEpoch()

std::int64_t toSecondsSinceEpoch ( ) const

Definition at line 99 of file DateTime.cpp.

◆ toString()

std::string toString ( const std::string & format) const

String representation of current date time according to given format string.

The format is according to https://en.cppreference.com/w/cpp/chrono/c/strftime. For milli seconds and micro seconds, special specifiers "%%msec" and "%%usec" were added respectively.

Example format string for "2022-03-04_16-59-10.981789": "%Y-%m-%d_%H-%M-%S.%%usec".

Parameters
formatFormat string.
Returns
Formatted date time.

Definition at line 81 of file DateTime.cpp.

◆ toTimeString()

std::string toTimeString ( ) const

Definition at line 69 of file DateTime.cpp.

Member Data Documentation

◆ _clockType

ClockType _clockType
protected

Definition at line 135 of file DateTime.h.

◆ _hostname

std::string _hostname
protected

Definition at line 137 of file DateTime.h.

◆ _invalidTimeSinceEpoch

const Duration _invalidTimeSinceEpoch
staticprotected
Initial value:
=
Duration::MicroSeconds(std::numeric_limits<long>::min())
static Duration MicroSeconds(std::int64_t microSeconds)
Constructs a duration in microseconds.
Definition Duration.cpp:24

Definition at line 131 of file DateTime.h.

◆ _timeSinceEpoch

Duration _timeSinceEpoch
protected

Definition at line 133 of file DateTime.h.


The documentation for this class was generated from the following files: