Collaboration diagram for Time API:

Functions

uint64_t rdm_timeMeasureMilliSecs (void)
 Time in milli seconds suitable for measuring elapsed time. More...
 
RDM_RETCODE rdm_timeFromString (const char *str, RDM_PACKED_TIME_T *ptm)
 Convert a string to local time. More...
 
uint16_t rdm_timeHour (RDM_PACKED_TIME_T tm)
 Get the hour of the day. More...
 
uint16_t rdm_timeMinute (RDM_PACKED_TIME_T tm)
 Get the minute of the hour. More...
 
uint16_t rdm_timeSecond (RDM_PACKED_TIME_T tm)
 Get the second of the minute. More...
 
uint16_t rdm_timeFraction (RDM_PACKED_TIME_T tm)
 Get the fractions of the second. More...
 
RDM_RETCODE rdm_timeToString (RDM_PACKED_TIME_T timeVal, RDM_TIME_FORMAT time_fmt, char *buf, size_t bufSize, size_t *puSize)
 Convert a time to a string. More...
 
RDM_PACKED_TIME_T rdm_timeZero (void)
 Get the local time at the start of a day. More...
 
RDM_RETCODE rdm_timeNow (int16_t time_zone, RDM_PACKED_TIME_T *ptm)
 Get the current local time. More...
 
RDM_RETCODE rdm_timeNowAsString (int16_t time_zone, char *timebuf, size_t buflen)
 Get current local time as a string. More...
 
RDM_RETCODE rdm_timetzNowAsString (int16_t time_zone, char *timebuf, size_t buflen)
 Get current time with timezone as a string. More...
 
RDM_RETCODE rdm_timetzFromString (const char *str, RDM_PACKED_TIMETZ_T *ptz)
 Convert a string to a time. More...
 
RDM_RETCODE rdm_timetzNow (int16_t time_zone, RDM_PACKED_TIMETZ_T *ptz)
 Get the current time with timezone. More...
 
RDM_RETCODE rdm_timetzToTime (RDM_PACKED_TIMETZ_T timetzVal, int16_t tz_disp, RDM_PACKED_TIME_T *pTimeVal)
 Convert a time with timezone to local time. More...
 
RDM_RETCODE rdm_timetzToString (RDM_PACKED_TIMETZ_T timetzVal, RDM_TIME_FORMAT time_fmt, char *buf, size_t bufSize, size_t *puSize)
 Convert a time with timezone to a string. More...
 
RDM_PACKED_TIMETZ_T rdm_timetzZero (void)
 Get the time at the start of a day. More...
 

Detailed Description

The RDM time datatype API. The functions here are located in RDM Base Functionality. Linker option:

    -lrdmbase

Function Documentation

◆ rdm_timeFraction()

uint16_t rdm_timeFraction ( RDM_PACKED_TIME_T  tm)

#include <rdmtimeapi.h>

Get the fractions of the second.

Get the fractions of the second in 1/10,000th of a second from a packed local time

The fractions of the second (0 - 9999)

Parameters
[in]tmRDM packed local time value

◆ rdm_timeFromString()

RDM_RETCODE rdm_timeFromString ( const char *  str,
RDM_PACKED_TIME_T ptm 
)

#include <rdmtimeapi.h>

Convert a string to local time.

Convert a string to a packed local time.

Return values
sOKAYNormal, successful return.
eINVLITERALInvalid literal constant specification.
eRANGENumeric value out of range.
Parameters
[in]strThe string to be converted
[out]ptmThe packed local time value. The buffer need to be allocated by the caller.

◆ rdm_timeHour()

uint16_t rdm_timeHour ( RDM_PACKED_TIME_T  tm)

#include <rdmtimeapi.h>

Get the hour of the day.

Get the hour from a packed local time.

Returns
The hour of the day
Parameters
[in]tmRDM packed local time value

◆ rdm_timeMeasureMilliSecs()

uint64_t rdm_timeMeasureMilliSecs ( void  )

#include <rdmtimeapi.h>

Time in milli seconds suitable for measuring elapsed time.

This function is returning elapsed time with some unspecified base suitable for measuring elapsed time. It is not suitable for generating timestamps or retrieving the actual clock time.

◆ rdm_timeMinute()

uint16_t rdm_timeMinute ( RDM_PACKED_TIME_T  tm)

#include <rdmtimeapi.h>

Get the minute of the hour.

Get the minute of the hour from a packed local time.

Returns
The minute of the hour
Parameters
[in]tmRDM packed local time value

◆ rdm_timeNow()

RDM_RETCODE rdm_timeNow ( int16_t  time_zone,
RDM_PACKED_TIME_T ptm 
)

#include <rdmtimeapi.h>

Get the current local time.

Get the current local time for the timezone passed in.

Return values
sOKAYNormal, successful return.
eBASE_INVTIMEZONEInvalid time zone value.
Parameters
[in]time_zonetimezone value (in min)
[out]ptmcurrent time adjusted with time_zone. The buffer need to be allocated by the caller.

◆ rdm_timeNowAsString()

RDM_RETCODE rdm_timeNowAsString ( int16_t  time_zone,
char *  timebuf,
size_t  buflen 
)

#include <rdmtimeapi.h>

Get current local time as a string.

Get the current local time in string format.

Return values
sOKAYNormal, successful return.
eBASE_INVTIMEZONEInvalid time zone value.
sTRUNCATEResult is truncated.
Parameters
[in]time_zonetimezone value (in min)
[out]timebufNOW value as string
[in]buflenSize of timebuf in number of ASCII characters it can hold

◆ rdm_timeSecond()

uint16_t rdm_timeSecond ( RDM_PACKED_TIME_T  tm)

#include <rdmtimeapi.h>

Get the second of the minute.

Get the second of the minute from a packed local time.

Returns
The second of the minute
Parameters
[in]tmRDM packed local time value

◆ rdm_timeToString()

RDM_RETCODE rdm_timeToString ( RDM_PACKED_TIME_T  timeVal,
RDM_TIME_FORMAT  time_fmt,
char *  buf,
size_t  bufSize,
size_t *  puSize 
)

#include <rdmtimeapi.h>

Convert a time to a string.

Convert a packed local time to a string.

Return values
sOKAYNormal, successful return.
eINVLITERALInvalid literal constant specification.
sTRUNCATEResult is truncated.
Parameters
[in]timeValRDM time value
[in]time_fmtRDM time format
[out]bufresult time string
[in]bufSizebuffer size in number of ASCII characters it can hold
[out]puSizeresulting size in number of characters

◆ rdm_timetzFromString()

RDM_RETCODE rdm_timetzFromString ( const char *  str,
RDM_PACKED_TIMETZ_T ptz 
)

#include <rdmtimetzapi.h>

Convert a string to a time.

Convert a string to a packed time with timezone.

Return values
sOKAYNormal, successful return.
eINVLITERALInvalid literal constant specification.
eRANGENumeric value out of range.
Parameters
[in]strThe string to be converted
[out]ptzThe packed time with timezone. The buffer need to be allocated by the caller.

◆ rdm_timetzNow()

RDM_RETCODE rdm_timetzNow ( int16_t  time_zone,
RDM_PACKED_TIMETZ_T ptz 
)

#include <rdmtimetzapi.h>

Get the current time with timezone.

Get the current time with timezone.

Return values
sOKAYNormal, successful return.
eBASE_INVTIMEZONEInvalid time zone value.
Parameters
[in]time_zoneTimezone value
[out]ptzThe current time with timezone

◆ rdm_timetzNowAsString()

RDM_RETCODE rdm_timetzNowAsString ( int16_t  time_zone,
char *  timebuf,
size_t  buflen 
)

#include <rdmtimetzapi.h>

Get current time with timezone as a string.

Get the current time with timezone as a string.

Return values
sOKAYNormal, successful return.
eBASE_INVTIMEZONEInvalid time zone value.
sTRUNCATEResult is truncated.
See also
rdm_timetzNow
Parameters
[in]time_zoneTimezone value (in min)
[out]timebufThe current time with timezone
[in]buflenSize of timebuf in number of ASCII characters it can hold

◆ rdm_timetzToString()

RDM_RETCODE rdm_timetzToString ( RDM_PACKED_TIMETZ_T  timetzVal,
RDM_TIME_FORMAT  time_fmt,
char *  buf,
size_t  bufSize,
size_t *  puSize 
)

#include <rdmtimetzapi.h>

Convert a time with timezone to a string.

Convert a packed time with timezone to a string.

Return values
sOKAYNormal, successful return.
eINVLITERALInvalid literal constant specification.
sTRUNCATEResult is truncated.
Parameters
[in]timetzValtime with timezone value
[in]time_fmtRDM time format
[out]bufresult time string
[in]bufSizebuffer size in number of ASCII characters it can hold
[out]puSizeresulting size in number of characters

◆ rdm_timetzToTime()

RDM_RETCODE rdm_timetzToTime ( RDM_PACKED_TIMETZ_T  timetzVal,
int16_t  tz_disp,
RDM_PACKED_TIME_T pTimeVal 
)

#include <rdmtimetzapi.h>

Convert a time with timezone to local time.

Convert a packed time with timezone to packed local time.

Return values
sOKAYNormal, successful return.
Parameters
[in]timetzValtime with timezone value
[in]tz_dispThe local timezone
[out]pTimeValresulting local time value

◆ rdm_timetzZero()

RDM_PACKED_TIMETZ_T rdm_timetzZero ( void  )

#include <rdmtimetzapi.h>

Get the time at the start of a day.

Get the packed time at the start of the day (midnight).

Returns
The time at the start of the day

◆ rdm_timeZero()

RDM_PACKED_TIME_T rdm_timeZero ( void  )

#include <rdmtimeapi.h>

Get the local time at the start of a day.

Get the packed local time at the start of the day (midnight).

Returns
The local time at the start of the day