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
 
DateTime & operator+= (const Duration &rhs)
 
Duration operator- (const DateTime &rhs) const
 
DateTime operator- (const Duration &rhs) const
 
DateTime & operator-= (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).

Constructor & Destructor Documentation

◆ DateTime() [1/4]

DateTime ( )

◆ DateTime() [2/4]

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

◆ DateTime() [3/4]

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

◆ DateTime() [4/4]

DateTime ( const IceUtil::Time & ice)

Member Function Documentation

◆ clockType()

ClockType clockType ( ) const

◆ hostname()

std::string hostname ( ) const

◆ Invalid()

DateTime Invalid ( )
static

◆ isInvalid()

bool isInvalid ( ) const

◆ isValid()

bool isValid ( ) const

◆ microSeconds()

static DateTime microSeconds ( long microSeconds)
inlinestatic

◆ Now()

DateTime Now ( )
static

◆ now()

static DateTime now ( )
inlinestatic

◆ operator IceUtil::Time()

operator IceUtil::Time ( ) const

◆ operator!=()

bool operator!= ( const DateTime & rhs) const

◆ operator+()

DateTime operator+ ( const Duration & rhs) const

◆ operator+=()

DateTime & operator+= ( const Duration & rhs)

◆ operator-() [1/2]

Duration operator- ( const DateTime & rhs) const

◆ operator-() [2/2]

DateTime operator- ( const Duration & rhs) const

◆ operator-=()

DateTime & operator-= ( const Duration & rhs)

◆ operator<()

bool operator< ( const DateTime & rhs) const

◆ operator<=()

bool operator<= ( const DateTime & rhs) const

◆ operator==()

bool operator== ( const DateTime & rhs) const

◆ operator>()

bool operator> ( const DateTime & rhs) const

◆ operator>=()

bool operator>= ( const DateTime & rhs) const

◆ toDateString()

std::string toDateString ( ) const

◆ toDateTimeString()

std::string toDateTimeString ( ) const

◆ toDurationSinceEpoch()

Duration toDurationSinceEpoch ( ) const

◆ toMicroSeconds()

std::int64_t toMicroSeconds ( ) const
inline

◆ toMicroSecondsSinceEpoch()

std::int64_t toMicroSecondsSinceEpoch ( ) const

◆ toMilliSecondsSinceEpoch()

std::int64_t toMilliSecondsSinceEpoch ( ) const

◆ toSecondsSinceEpoch()

std::int64_t toSecondsSinceEpoch ( ) const

◆ 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.

◆ toTimeString()

std::string toTimeString ( ) const

Member Data Documentation

◆ _clockType

ClockType _clockType
protected

◆ _hostname

std::string _hostname
protected

◆ _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

◆ _timeSinceEpoch

Duration _timeSinceEpoch
protected

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