##

Time Class Reference
Common

A Time class, can be used to hold wall- or sim-time. stored as sec and nano-sec. More...

`#include <common/common.hh>`

## Public Types

enum | FormatOption { DAYS = 0, HOURS = 1, MINUTES = 2, SECONDS = 3, MILLISECONDS = 4 }

## Public Member Functions

| Time ()
| Constructors. More...
| Time (const struct timespec &_tv)
| Constructor. More...
| Time (const struct timeval &_tv)
| Constructor. More...
| Time (const Time &_time)
| Copy constructor. More...
| Time (double _time)
| Constuctor. More...
| Time (int32_t _sec, int32_t _nsec)
| Constructor. More...
virtual | ~Time ()
| Destructor. More...
double | Double () const
| Get the time as a double. More...
float | Float () const
| Get the time as a float. More...
std::string | FormattedString (FormatOption _start=DAYS, FormatOption _end=MILLISECONDS) const
| Get the time as a string formatted as "DD hh:mm:ss.mmm", with the option to choose the start/end. More...
bool | operator!= (const struct timespec &_tv) const
| Equal to operator. More...
bool | operator!= (const struct timeval &_tv) const
| Equal to operator. More...
bool | operator!= (const Time &_time) const
| Equal to operator. More...
bool | operator!= (double _time) const
| Equal to operator. More...
Time | operator* (const struct timespec &_tv) const
| Multiplication operator. More...
Time | operator* (const struct timeval &_tv) const
| Multiplication operator. More...
Time | operator* (const Time &_time) const
| Multiplication operators. More...
const Time & | operator*= (const struct timespec &_tv)
| Multiplication assignment operator. More...
const Time & | operator*= (const struct timeval &_tv)
| Multiplication assignment operator. More...
const Time & | operator*= (const Time &_time)
| Multiplication operators. More...
Time | operator+ (const struct timespec &_tv) const
| Addition operators. More...
Time | operator+ (const struct timeval &_tv) const
| Addition operators. More...
Time | operator+ (const Time &_time) const
| Addition operators. More...
const Time & | operator+= (const struct timespec &_tv)
| Addition assignment operator. More...
const Time & | operator+= (const struct timeval &_tv)
| Addition assignment operator. More...
const Time & | operator+= (const Time &_time)
| Addition assignemtn operator. More...
Time | operator- (const struct timespec &_tv) const
| Subtraction operator. More...
Time | operator- (const struct timeval &_tv) const
| Subtraction operator. More...
Time | operator- (const Time &_time) const
| Subtraction operator. More...
const Time & | operator-= (const struct timespec &_tv)
| Subtraction assignment operator. More...
const Time & | operator-= (const struct timeval &_tv)
| Subtraction assignment operator. More...
const Time & | operator-= (const Time &_time)
| Subtraction assignment operator. More...
Time | operator/ (const struct timespec &_tv) const
| Division operator. More...
Time | operator/ (const struct timeval &_tv) const
| Division operator. More...
Time | operator/ (const Time &_time) const
| Division operator. More...
const Time & | operator/= (const struct timespec &_tv)
| Division assignment operator. More...
const Time & | operator/= (const struct timeval &_tv)
| Division assignment operator. More...
const Time & | operator/= (const Time &time)
| Division assignment operator. More...
bool | operator< (const struct timespec &_tv) const
| Less than operator. More...
bool | operator< (const struct timeval &_tv) const
| Less than operator. More...
bool | operator< (const Time &_time) const
| Less than operator. More...
bool | operator< (double _time) const
| Less than operator. More...
bool | operator<= (const struct timespec &_tv) const
| Less than or equal to operator. More...
bool | operator<= (const struct timeval &_tv) const
| Less than or equal to operator. More...
bool | operator<= (const Time &_time) const
| Less than or equal to operator. More...
bool | operator<= (double _time) const
| Less than or equal to operator. More...
Time & | operator= (const struct timespec &_tv)
| Assignment operator. More...
Time & | operator= (const struct timeval &_tv)
| Assignment operator. More...
Time & | operator= (const Time &_time)
| Assignment operator. More...
bool | operator== (const struct timespec &_tv) const
| Equal to operator. More...
bool | operator== (const struct timeval &_tv) const
| Equal to operator. More...
bool | operator== (const Time &_time) const
| Equal to operator. More...
bool | operator== (double _time) const
| Equal to operator. More...
bool | operator> (const struct timespec &_tv) const
| Greater than operator. More...
bool | operator> (const struct timeval &_tv) const
| Greater than operator. More...
bool | operator> (const Time &_time) const
| Greater than operator. More...
bool | operator> (double _time) const
| Greater than operator. More...
bool | operator>= (const struct timespec &_tv) const
| Greater than or equal operator. More...
bool | operator>= (const struct timeval &_tv) const
| Greater than or equal operator. More...
bool | operator>= (const Time &_time) const
| Greater than or equal operator. More...
bool | operator>= (double _time) const
| Greater than or equal operator. More...
void | Set (double _seconds)
| Set to seconds. More...
void | Set (int32_t _sec, int32_t _nsec)
| Set to sec and nsec. More...
void | SetToWallTime ()
| Set the time to the wall time. More...

## Static Public Member Functions

static const Time & | GetWallTime ()
| Get the wall time. More...
static const std::string & | GetWallTimeAsISOString ()
| Get the wall time as an ISO string: YYYY-MM-DDTHH:MM:SS. More...
static Time | Maximum ()
| Get a Time object that represents the maximum amount of time that this class can represent. More...
static double | MicToNano (double _ms)
| Convert microseconds to nanoseconds. More...
static double | MilToNano (double _ms)
| Convert milliseconds to nanoseconds. More...
static Time | MSleep (unsigned int _ms)
| Millisecond sleep. More...
static Time | NSleep (unsigned int _ns)
| Nano sleep. More...
static double | SecToNano (double _sec)
| Convert seconds to nanoseconds. More...
static Time | Sleep (const common::Time &_time)
| Sleep for the specified time. More...

## Public Attributes

int32_t | nsec
| Nanoseconds. More...
int32_t | sec
| Seconds. More...

## Static Public Attributes

static const Time | Hour
| A static time variable set to an hour: common::Time(3600, 0). More...
static const int32_t | nsInMs
| Constant multiplier to convert from nanoseconds to milliseconds. More...
static const int32_t | nsInSec
| Constant multiplier to convert from nanoseconds to seconds. More...
static const Time | Second
| A static time variable set to a second: common::Time(1, 0). More...
static const Time | Zero
| A static zero time variable set to common::Time(0, 0). More...

## Friends

std::ostream & | operator<< (std::ostream &_out, const gazebo::common::Time &_time)
| Stream insertion operator. More...
std::istream & | operator>> (std::istream &_in, gazebo::common::Time &_time)
| Stream extraction operator. More...

## Detailed Description

A Time class, can be used to hold wall- or sim-time. stored as sec and nano-sec.

## Member Enumeration Documentation

## FormatOption

enum FormatOption

Enumerator
DAYS | Days.
HOURS | Hours.
MINUTES | Minutes.
SECONDS | Seconds.
MILLISECONDS | Milliseconds.

## Constructor & Destructor Documentation

## Time() [1/6]

Time | ( |  | ) |

Constructors.

## Time() [2/6]

Time | ( | const Time & | _time | ) |

Copy constructor.

Parameters

  [in] | time | Time to copy

## Time() [3/6]

Time | ( | const struct timeval & | _tv | ) |

Constructor.

Parameters

  [in] | _tv | Time to initialize to

## Time() [4/6]

Time | ( | const struct timespec & | _tv | ) |

Constructor.

Parameters

  [in] | _tv | Time to initialize to

## Time() [5/6]

Time | ( | int32_t | _sec,
|  | int32_t | _nsec
| ) |  |

Constructor.

Parameters

  [in] | _sec | Seconds
  [in] | _nsec | Nanoseconds

## Time() [6/6]

Time | ( | double | _time | ) |

Constuctor.

Parameters

  [in] | _time | Time in double format sec.nsec

## ~Time()

virtual ~Time | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## Double()

double Double | ( |  | ) | const

Get the time as a double.

Returns
  Time as a double in seconds

## Float()

float Float | ( |  | ) | const

Get the time as a float.

Returns
  Time as a float in seconds

## FormattedString()

std::string FormattedString | ( | FormatOption | _start = `DAYS`,
|  | FormatOption | _end = `MILLISECONDS`
| ) |  | const

Get the time as a string formatted as "DD hh:mm:ss.mmm", with the option to choose the start/end.

Parameters

  [in] | _start | Start point.
  [in] | _end | End point.

Returns
  String representing time.

## GetWallTime()

static const Time& GetWallTime | ( |  | ) |

static

Get the wall time.

Returns
  the current time

## GetWallTimeAsISOString()

static const std::string& GetWallTimeAsISOString | ( |  | ) |

static

Get the wall time as an ISO string: YYYY-MM-DDTHH:MM:SS.

Returns
  The current wall time as an ISO string.

## Maximum()

static Time Maximum | ( |  | ) |

static

Get a Time object that represents the maximum amount of time that this class can represent.

Returns
  The largest duration of time that can be represented by this data structure. This is approximately 68 years.

## MicToNano()

static double MicToNano | ( | double | _ms | ) |

inline static

Convert microseconds to nanoseconds.

Parameters

  _ms | microseconds

Returns
  nanoseconds

## MilToNano()

static double MilToNano | ( | double | _ms | ) |

inline static

Convert milliseconds to nanoseconds.

Parameters

  [in] | _ms | milliseconds

Returns
  nanoseconds

## MSleep()

static Time MSleep | ( | unsigned int | _ms | ) |

static

Millisecond sleep.

Parameters

  [in] | _ms | milliseconds

Returns
  Time actually slept

## NSleep()

static Time NSleep | ( | unsigned int | _ns | ) |

static

Nano sleep.

Parameters

  [in] | _ns | nanoseconds

Returns
  Time actually slept

## operator!=() [1/4]

bool operator!= | ( | const struct timespec & | _tv | ) | const

Equal to operator.

Parameters

  [in] | _tv | the time to compare to

Returns
  true if values are the same, false otherwise

## operator!=() [2/4]

bool operator!= | ( | const struct timeval & | _tv | ) | const

Equal to operator.

Parameters

  [in] | _tv | the time to compare to

Returns
  true if values are the same, false otherwise

## operator!=() [3/4]

bool operator!= | ( | const Time & | _time | ) | const

Equal to operator.

Parameters

  [in] | _time | the time to compare to

Returns
  true if values are the same, false otherwise

## operator!=() [4/4]

bool operator!= | ( | double | _time | ) | const

Equal to operator.

Parameters

  [in] | _time | the time to compare to

Returns
  true if values are the same, false otherwise

## operator*() [1/3]

Time operator* | ( | const struct timespec & | _tv | ) | const

Multiplication operator.

Parameters

  [in] | _tv | the scaling duration

Returns
  Time instance

## operator*() [2/3]

Time operator* | ( | const struct timeval & | _tv | ) | const

Multiplication operator.

Parameters

  [in] | _tv | The scaling duration

Returns
  Time instance

## operator*() [3/3]

Time operator* | ( | const Time & | _time | ) | const

Multiplication operators.

Parameters

  [in] | _time | the scaling factor

Returns
  a scaled Time instance

## operator*=() [1/3]

const Time& operator*= | ( | const struct timespec & | _tv | ) |

Multiplication assignment operator.

Parameters

  [in] | _tv | the scaling duration

Returns
  a reference to this instance

## operator*=() [2/3]

const Time& operator*= | ( | const struct timeval & | _tv | ) |

Multiplication assignment operator.

Parameters

  [in] | _tv | the scaling duration

Returns
  a reference to this instance

## operator*=() [3/3]

const Time& operator*= | ( | const Time & | _time | ) |

Multiplication operators.

Parameters

  [in] | _time | scale factor

Returns
  a scaled Time instance

## operator+() [1/3]

Time operator+ | ( | const struct timespec & | _tv | ) | const

Addition operators.

Parameters

  [in] | _tv | the time to add

Returns
  a Time instance

## operator+() [2/3]

Time operator+ | ( | const struct timeval & | _tv | ) | const

Addition operators.

Parameters

  [in] | _tv | the time to add

Returns
  a Time instance

## operator+() [3/3]

Time operator+ | ( | const Time & | _time | ) | const

Addition operators.

Parameters

  [in] | _time | The time to add

Returns
  a Time instance

## operator+=() [1/3]

const Time& operator+= | ( | const struct timespec & | _tv | ) |

Addition assignment operator.

Parameters

  [in] | _tv | the time to add

Returns
  a reference to this instance

## operator+=() [2/3]

const Time& operator+= | ( | const struct timeval & | _tv | ) |

Addition assignment operator.

Parameters

  [in] | _tv | the time to add

Returns
  a reference to this instance

## operator+=() [3/3]

const Time& operator+= | ( | const Time & | _time | ) |

Addition assignemtn operator.

Parameters

  [in] | _time | The time to add

Returns
  a Time instance

## operator-() [1/3]

Time operator- | ( | const struct timespec & | _tv | ) | const

Subtraction operator.

Parameters

  [in] | _tv | The time to subtract

Returns
  a Time instance

## operator-() [2/3]

Time operator- | ( | const struct timeval & | _tv | ) | const

Subtraction operator.

Parameters

  [in] | _tv | The time to subtract

Returns
  a Time instance

## operator-() [3/3]

Time operator- | ( | const Time & | _time | ) | const

Subtraction operator.

Parameters

  [in] | _time | The time to subtract

Returns
  a Time instance

## operator-=() [1/3]

const Time& operator-= | ( | const struct timespec & | _tv | ) |

Subtraction assignment operator.

Parameters

  [in] | _tv | The time to subtract

Returns
  a Time instance

## operator-=() [2/3]

const Time& operator-= | ( | const struct timeval & | _tv | ) |

Subtraction assignment operator.

Parameters

  [in] | _tv | The time to subtract

Returns
  a Time instance

## operator-=() [3/3]

const Time& operator-= | ( | const Time & | _time | ) |

Subtraction assignment operator.

Parameters

  [in] | _time | The time to subtract

Returns
  a reference to this instance

## operator/() [1/3]

Time operator/ | ( | const struct timespec & | _tv | ) | const

Division operator.

Parameters

  [in] | _tv | a timespec divisor

Returns
  a Time instance

## operator/() [2/3]

Time operator/ | ( | const struct timeval & | _tv | ) | const

Division operator.

Parameters

  [in] | _tv | a timeval divisor

Returns
  a Time instance

## operator/() [3/3]

Time operator/ | ( | const Time & | _time | ) | const

Division operator.

Parameters

  [in] | _time | the divisor

Returns
  a Time instance

## operator/=() [1/3]

const Time& operator/= | ( | const struct timespec & | _tv | ) |

Division assignment operator.

Parameters

  [in] | _tv | a divisor

Returns
  a Time instance

## operator/=() [2/3]

const Time& operator/= | ( | const struct timeval & | _tv | ) |

Division assignment operator.

Parameters

  [in] | _tv | a divisor

Returns
  a Time instance

## operator/=() [3/3]

const Time& operator/= | ( | const Time & | time | ) |

Division assignment operator.

Parameters

  [in] | time | the divisor

Returns
  a Time instance

## operator<() [1/4]

bool operator< | ( | const struct timespec & | _tv | ) | const

Less than operator.

Parameters

  [in] | _tv | the time to compare with

Returns
  true if tv is shorter than this, false otherwise

## operator<() [2/4]

bool operator< | ( | const struct timeval & | _tv | ) | const

Less than operator.

Parameters

  [in] | _tv | the time to compare with

Returns
  true if tv is shorter than this, false otherwise

## operator<() [3/4]

bool operator< | ( | const Time & | _time | ) | const

Less than operator.

Parameters

  [in] | _time | the time to compare with

Returns
  true if time is shorter than this, false otherwise

## operator<() [4/4]

bool operator< | ( | double | _time | ) | const

Less than operator.

Parameters

  [in] | _time | the time to compare with

Returns
  true if time is shorter than this, false otherwise

## operator<=() [1/4]

bool operator<= | ( | const struct timespec & | _tv | ) | const

Less than or equal to operator.

Parameters

  [in] | _tv | the time to compare with

Returns
  true if tv is shorter than or equal to this, false otherwise

## operator<=() [2/4]

bool operator<= | ( | const struct timeval & | _tv | ) | const

Less than or equal to operator.

Parameters

  [in] | _tv | the time to compare with

Returns
  true if tv is shorter than or equal to this, false otherwise

## operator<=() [3/4]

bool operator<= | ( | const Time & | _time | ) | const

Less than or equal to operator.

Parameters

  [in] | _time | the time to compare with

Returns
  true if time is shorter than or equal to this, false otherwise

## operator<=() [4/4]

bool operator<= | ( | double | _time | ) | const

Less than or equal to operator.

Parameters

  [in] | _time | the time to compare with

Returns
  true if time is shorter than or equal to this, false otherwise

## operator=() [1/3]

Time& operator= | ( | const struct timespec & | _tv | ) |

Assignment operator.

Parameters

  [in] | _tv | the new time

Returns
  a reference to this instance

## operator=() [2/3]

Time& operator= | ( | const struct timeval & | _tv | ) |

Assignment operator.

Parameters

  [in] | _tv | the new time

Returns
  a reference to this instance

## operator=() [3/3]

Time& operator= | ( | const Time & | _time | ) |

Assignment operator.

Parameters

  [in] | _time | the new time

Returns
  a reference to this instance

## operator==() [1/4]

bool operator== | ( | const struct timespec & | _tv | ) | const

Equal to operator.

Parameters

  [in] | _tv | the time to compare to

Returns
  true if values are the same, false otherwise

## operator==() [2/4]

bool operator== | ( | const struct timeval & | _tv | ) | const

Equal to operator.

Parameters

  [in] | _tv | the time to compare to

Returns
  true if values are the same, false otherwise

## operator==() [3/4]

bool operator== | ( | const Time & | _time | ) | const

Equal to operator.

Parameters

  [in] | _time | the time to compare to

Returns
  true if values are the same, false otherwise

## operator==() [4/4]

bool operator== | ( | double | _time | ) | const

Equal to operator.

Parameters

  [in] | _time | the time to compare to

Returns
  true if values are the same, false otherwise

## operator>() [1/4]

bool operator> | ( | const struct timespec & | _tv | ) | const

Greater than operator.

Parameters

  [in] | _tv | the time to compare with

Returns
  true if time is greater than this, false otherwise

## operator>() [2/4]

bool operator> | ( | const struct timeval & | _tv | ) | const

Greater than operator.

Parameters

  [in] | _tv | the time to compare with

Returns
  true if time is greater than this, false otherwise

## operator>() [3/4]

bool operator> | ( | const Time & | _time | ) | const

Greater than operator.

Parameters

  [in] | _time | the time to compare with

Returns
  true if time is greater than this, false otherwise

## operator>() [4/4]

bool operator> | ( | double | _time | ) | const

Greater than operator.

Parameters

  [in] | _time | the time to compare with

Returns
  true if time is greater than this, false otherwise

## operator>=() [1/4]

bool operator>= | ( | const struct timespec & | _tv | ) | const

Greater than or equal operator.

Parameters

  [in] | _tv | the time to compare with

Returns
  true if tv is greater than or equal to this, false otherwise

## operator>=() [2/4]

bool operator>= | ( | const struct timeval & | _tv | ) | const

Greater than or equal operator.

Parameters

  [in] | _tv | the time to compare with

Returns
  true if tv is greater than or equal to this, false otherwise

## operator>=() [3/4]

bool operator>= | ( | const Time & | _time | ) | const

Greater than or equal operator.

Parameters

  [in] | _time | the time to compare with

Returns
  true if time is greater than or equal to this, false otherwise

## operator>=() [4/4]

bool operator>= | ( | double | _time | ) | const

Greater than or equal operator.

Parameters

  [in] | _time | the time to compare with

Returns
  true if time is greater than or equal to this, false otherwise

## SecToNano()

static double SecToNano | ( | double | _sec | ) |

inline static

Convert seconds to nanoseconds.

Parameters

  [in] | _sec | duration in seconds

Returns
  nanoseconds

## Set() [1/2]

void Set | ( | double | _seconds | ) |

Set to seconds.

Parameters

  [in] | _seconds | Number of seconds

## Set() [2/2]

void Set | ( | int32_t | _sec,
|  | int32_t | _nsec
| ) |  |

Set to sec and nsec.

Parameters

  [in] | _sec | Seconds
  [in] | _nsec | Nanoseconds

## SetToWallTime()

void SetToWallTime | ( |  | ) |

Set the time to the wall time.

## Sleep()

static Time Sleep | ( | const common::Time & | _time | ) |

static

Sleep for the specified time.

Parameters

  [in] | _time | Sleep time

Returns
  Time actually slept

## Friends And Related Function Documentation

## operator<<

std::ostream& operator<< | ( | std::ostream & | _out,
|  | const gazebo::common::Time & | _time
| ) |  |

friend

Stream insertion operator.

Parameters

  [in] | _out | the output stream
  [in] | _time | time to write to the stream

Returns
  the output stream

## operator>>

std::istream& operator>> | ( | std::istream & | _in,
|  | gazebo::common::Time & | _time
| ) |  |

friend

Stream extraction operator.

Parameters

  [in] | _in | the input stream
  [in] | _time | time to read from to the stream

Returns
  the input stream

## Member Data Documentation

## Hour

const Time Hour

static

A static time variable set to an hour: common::Time(3600, 0).

## nsec

int32_t nsec

Nanoseconds.

## nsInMs

const int32_t nsInMs

static

Constant multiplier to convert from nanoseconds to milliseconds.

## nsInSec

const int32_t nsInSec

static

Constant multiplier to convert from nanoseconds to seconds.

## sec

int32_t sec

Seconds.

## Second

const Time Second

static

A static time variable set to a second: common::Time(1, 0).

## Zero

const Time Zero

static

A static zero time variable set to common::Time(0, 0).

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

- Time.hh