# class Time | A time holding class. More...
Full name | `TelEngine::Time`
Definition | `#include <yateclass.h>`
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- inline Time ()
- inline Time (u_int64_t usec)
- inline explicit Time (const struct timeval* tv)
- inline explicit Time (const struct timeval& tv)
- inline ~Time ()
- inline u_int32_t sec () const
- inline u_int64_t msec () const
- inline u_int64_t usec () const
- inline operator u_int64_t () const
- inline Time& operator= (u_int64_t usec)
- inline Time& operator+= (int64_t delta)
- inline Time& operator-= (int64_t delta)
- inline void toTimeval (struct timeval* tv) const

#### Public Static Methods

- static void toTimeval (struct timeval* tv, u_int64_t usec)
- static u_int64_t fromTimeval (const struct timeval* tv)
- static inline u_int64_t fromTimeval (const struct timeval& tv)
- static u_int64_t now ()
- static u_int64_t msecNow ()
- static u_int32_t secNow ()
- static unsigned int toEpoch (int year, unsigned int month, unsigned int day, unsigned int hour, unsigned int minute, unsigned int sec, int offset = 0)
- static bool toDateTime (unsigned int epochTimeSec, int& year, unsigned int& month, unsigned int& day, unsigned int& hour, unsigned int& minute, unsigned int& sec, unsigned int* wDay = 0)
- static inline bool isLeap (unsigned int year)
- static int timeZone ()

## Detailed Description

The Time class holds a time moment with microsecond accuracy

inline Time () | ### Time

Constructs a Time object from the current time

inline Time (u_int64_t usec) | ### Time

Constructs a Time object from a given time

Parameters:

usec | Time in microseconds

inline explicit Time (const struct timeval* tv) | ### Time

Constructs a Time object from a timeval structure pointer

Parameters:

tv | Pointer to the timeval structure

inline explicit Time (const struct timeval& tv) | ### Time

Constructs a Time object from a timeval structure

Parameters:

tv | Reference of the timeval structure

inline ~Time () | ### ~Time

Do-nothing destructor that keeps the compiler from complaining about inlining derivates or members of Time type

inline u_int32_t sec () | ### sec

[const]

Get time in seconds

Returns: Time in seconds since the Epoch

inline u_int64_t msec () | ### msec

[const]

Get time in milliseconds

Returns: Time in milliseconds since the Epoch

inline u_int64_t usec () | ### usec

[const]

Get time in microseconds

Returns: Time in microseconds since the Epoch

inline operator u_int64_t () | ### u_int64_t

[const]

Conversion to microseconds operator

inline Time& operator= (u_int64_t usec) | ### operator=

Assignment operator.

inline Time& operator+= (int64_t delta) | ### operator+=

Offsetting operator.

inline Time& operator-= (int64_t delta) | ### operator-=

Offsetting operator.

inline void toTimeval (struct timeval* tv) | ### toTimeval

[const]

Fill in a timeval struct from a value in microseconds

Parameters:

tv | Pointer to the timeval structure

void toTimeval (struct timeval* tv, u_int64_t usec) | ### toTimeval

[static]

Fill in a timeval struct from a value in microseconds

Parameters:

tv | Pointer to the timeval structure
usec | Time to convert to timeval

u_int64_t fromTimeval (const struct timeval* tv) | ### fromTimeval

[static]

Convert time in a timeval struct to microseconds

Parameters:

tv | Pointer to the timeval structure

Returns: Corresponding time in microseconds or zero if tv is NULL

inline u_int64_t fromTimeval (const struct timeval& tv) | ### fromTimeval

[static]

Convert time in a timeval struct to microseconds

Parameters:

tv | Reference of the timeval structure

Returns: Corresponding time in microseconds

u_int64_t now () | ### now

[static]

Get the current system time in microseconds

Returns: Time in microseconds since the Epoch

u_int64_t msecNow () | ### msecNow

[static]

Get the current system time in milliseconds

Returns: Time in milliseconds since the Epoch

u_int32_t secNow () | ### secNow

[static]

Get the current system time in seconds

Returns: Time in seconds since the Epoch

unsigned int toEpoch (int year, unsigned int month, unsigned int day, unsigned int hour, unsigned int minute, unsigned int sec, int offset = 0) | ### toEpoch

[static]

Build EPOCH time from date/time components

Parameters:

year | The year component of the date. Must be greater then 1969
month | The month component of the date (1 to 12)
day | The day component of the date (1 to 31)
hour | The hour component of the time (0 to 23). The hour can be 24 if minute and sec are 0
minute | The minute component of the time (0 to 59)
sec | The seconds component of the time (0 to 59)
offset | Optional number of seconds to be added/substracted to/from result. It can't exceed the number of seconds in a day

Returns: EPOCH time in seconds, -1 on failure

bool toDateTime (unsigned int epochTimeSec, int& year, unsigned int& month, unsigned int& day, unsigned int& hour, unsigned int& minute, unsigned int& sec, unsigned int* wDay = 0) | ### toDateTime

[static]

Split a given EPOCH time into its date/time components

Parameters:

epochTimeSec | EPOCH time in seconds
year | The year component of the date
month | The month component of the date (1 to 12)
day | The day component of the date (1 to 31)
hour | The hour component of the time (0 to 23)
minute | The minute component of the time (0 to 59)
sec | The seconds component of the time (0 to 59)
wDay | The day of the week (optional)

Returns: True on succes, false if conversion failed

inline bool isLeap (unsigned int year) | ### isLeap

[static]

Check if an year is a leap one

Parameters:

year | The year to check

Returns: True if the given year is a leap one

int timeZone () | ### timeZone

[static]

Retrieve the difference between local time and UTC in seconds east of UTC

Returns: Difference between local time and UTC in seconds

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.