Monero
Loading...
Searching...
No Matches
el::base::utils::DateTime Class Reference

Contains utilities for cross-platform date/time. This class make use of el::base::utils::Str. More...

#include <easylogging++.h>

Inheritance diagram for el::base::utils::DateTime:
Collaboration diagram for el::base::utils::DateTime:

Static Public Member Functions

static void gettimeofday (struct timeval *tv)
 Cross platform gettimeofday for Windows and unix platform. This can be used to determine current microsecond.
static std::string getDateTime (const char *format, const base::SubsecondPrecision *ssPrec)
 Gets current date and time with a subsecond part.
static std::string timevalToString (struct timeval tval, const char *format, const el::base::SubsecondPrecision *ssPrec)
 Converts timeval (struct from ctime) to string using specified format and subsecond precision.
static base::type::string_t formatTime (unsigned long long time, base::TimestampUnit timestampUnit)
 Formats time to get unit accordingly, units like second if > 1000 or minutes if > 60000 etc.
static unsigned long long getTimeDifference (const struct timeval &endTime, const struct timeval &startTime, base::TimestampUnit timestampUnit)
 Gets time difference in milli/micro second depending on timestampUnit.
static struct::tm * buildTimeInfo (struct timeval *currTime, struct ::tm *timeInfo)

Static Private Member Functions

static char * parseFormat (char *buf, std::size_t bufSz, const char *format, const struct tm *tInfo, std::size_t msec, const base::SubsecondPrecision *ssPrec)

Detailed Description

Contains utilities for cross-platform date/time. This class make use of el::base::utils::Str.

Member Function Documentation

◆ buildTimeInfo()

struct::tm * el::base::utils::DateTime::buildTimeInfo ( struct timeval * currTime,
struct ::tm * timeInfo )
static

◆ formatTime()

base::type::string_t el::base::utils::DateTime::formatTime ( unsigned long long time,
base::TimestampUnit timestampUnit )
static

Formats time to get unit accordingly, units like second if > 1000 or minutes if > 60000 etc.

◆ getDateTime()

std::string el::base::utils::DateTime::getDateTime ( const char * format,
const base::SubsecondPrecision * ssPrec )
static

Gets current date and time with a subsecond part.

Parameters
formatUser provided date/time format
ssPrecA pointer to base::SubsecondPrecision from configuration (non-null)
Returns
string based date time in specified format.

◆ getTimeDifference()

unsigned long long el::base::utils::DateTime::getTimeDifference ( const struct timeval & endTime,
const struct timeval & startTime,
base::TimestampUnit timestampUnit )
static

Gets time difference in milli/micro second depending on timestampUnit.

◆ gettimeofday()

void el::base::utils::DateTime::gettimeofday ( struct timeval * tv)
static

Cross platform gettimeofday for Windows and unix platform. This can be used to determine current microsecond.

@detail For unix system it uses gettimeofday(timeval*, timezone*) and for Windows, a seperate implementation is provided

Parameters
[in,out]tvPointer that gets updated

◆ parseFormat()

char * el::base::utils::DateTime::parseFormat ( char * buf,
std::size_t bufSz,
const char * format,
const struct tm * tInfo,
std::size_t msec,
const base::SubsecondPrecision * ssPrec )
staticprivate

◆ timevalToString()

std::string el::base::utils::DateTime::timevalToString ( struct timeval tval,
const char * format,
const el::base::SubsecondPrecision * ssPrec )
static

Converts timeval (struct from ctime) to string using specified format and subsecond precision.


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