B2BITS FIX Antenna HFT  1.0.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Enumerations | Functions | Variables
Engine::TZTimeHelper Namespace Reference

Classes

struct  TZTimeOnly
 Data about time with UTC offset. More...
 
struct  TZTimestamp
 Data about date and time with UTC offset. More...
 
struct  UTCDateOnly
 Data about date. More...
 
struct  UTCTimeOnly
 Time without UTC offset. More...
 
struct  UTCTimestamp
 Data about date and time without UTC offset. More...
 

Enumerations

enum  TimeFlags {
  Seconds = 0x01, Milliseconds = 0x02 | Seconds, Microseconds = 0x04 | Milliseconds, Nanoseconds = 0x08 | Microseconds,
  Picoseconds = 0x10 | Nanoseconds, TrimTrailingZeros = 0x80, MillisecondsAndTrim = Milliseconds | TrimTrailingZeros, MicrosecondsAndTrim = Microseconds | TrimTrailingZeros,
  NanosecondsAndTrim = Nanoseconds | TrimTrailingZeros, PicosecondsAndTrim = Picoseconds | TrimTrailingZeros
}
 Time flags for converts to string. More...
 

Functions

void V12_API nanosToUTCTimestamp (System::u64 nanoTimestamp, UTCTimestamp &timestamp)
 Fills date and time in TZTimestamp from nano seconds timestamp in UTC. More...
 
void V12_API nowTZDateOnly (UTCDateOnly &date)
 Fills current date in UTCDateOnly in local time zone. More...
 
UTCDateOnly V12_API nowTZDateOnly ()
 Get current date with local time zone. More...
 
void V12_API nowTZTimeOnly (TZTimeOnly &time)
 Fills current time in TZTimeOnly. More...
 
TZTimeOnly V12_API nowTZTimeOnly ()
 Get current time in local time zone. More...
 
void V12_API nowTZTimestamp (TZTimestamp &timestamp)
 Fills current date and time in TZTimestamp. More...
 
TZTimestamp V12_API nowTZTimestamp ()
 Get current time and date in local time zone. More...
 
void V12_API nowUTCDateOnly (UTCDateOnly &date)
 Fills current date in UTCDateOnly in UTC. More...
 
UTCDateOnly V12_API nowUTCDateOnly ()
 Get current date in UTC. More...
 
void V12_API nowUTCTimeOnly (UTCTimeOnly &time)
 Fills current time in UTCTimeOnly. More...
 
UTCTimeOnly V12_API nowUTCTimeOnly ()
 Get current time in UTC. More...
 
void V12_API nowUTCTimestamp (UTCTimestamp &timestamp)
 Fills current date and time in TZTimestamp. More...
 
UTCTimestamp V12_API nowUTCTimestamp ()
 Get current date and time in UTC. More...
 
bool V12_API parseDateOnly (const char *data, size_t lenght, UTCDateOnly &date)
 Parses string UTCDateOnly - "YYYYMMDD" to UTCDateOnly structure. More...
 
bool V12_API parseTimeOnly (const char *data, size_t lenght, TZTimeOnly &time)
 Parses string UTCTimeOnly( "HH:MM:SS[.sss]" ) or TZTimeOnly( "HH:MM[:SS][.sss][Z | [ + | - hh[:mm]]]" ) to TZTimeOnly structure. More...
 
bool V12_API parseTimestamp (const char *data, size_t lenght, TZTimestamp &timestamp)
 Parses string UTCTimestamp( "YYYYMMDD-HH:MM:SS[.sss]" ) or TZTimestamp( "YYYYMMDD-HH:MM:SS[.sss][Z | [ + | - hh[:mm]]]" ) to TZTimestamp structure. More...
 
bool V12_API parseUTCTimeOnly (const char *data, size_t lenght, UTCTimeOnly &time)
 Parses string UTCTimeOnly - "HH:MM:SS[.sss]" to UTCTimeOnly structure. More...
 
bool V12_API parseUTCTimestamp (const char *data, size_t lenght, UTCTimestamp &timestamp)
 Parses string UTCTimestamp - "YYYYMMDD-HH:MM:SS[.sss]" to UTCTimestamp structure. More...
 
void V12_API timeSpecFromTZTimestamp (struct timespec &ts, const TZTimestamp &timestamp, bool convertToUTC=true)
 Converts TZTimestamp to timespec. More...
 
void V12_API timeSpecTFromUTCTimestamp (struct timespec &ts, const UTCTimestamp &timestamp)
 Converts UTCTimestamp to timespec. More...
 
time_t V12_API timeTFromTZTimestamp (const TZTimestamp &timestamp, bool convertToUTC=true)
 Converts TZTimestamp to time_t. More...
 
time_t V12_API timeTFromUTCTimestamp (const UTCTimestamp &timestamp)
 Converts UTCTimestamp to time_t. More...
 
size_t V12_API tzTimeOnlyToString (char *data, size_t lenght, const TZTimeOnly &time, TimeFlags flags=Milliseconds)
 Converts to char buffer TZTimeOnly( "HH:MM[:SS][.sss][Z | [ + | - hh[:mm]]]" ) without terminating zero. More...
 
void V12_API tzTimestampFromTimeSpec (TZTimestamp &timestamp, const struct timespec &ts, System::i16 utcOffset=0)
 Converts timespec to TZTimestamp. More...
 
void V12_API tzTimestampFromTimeT (TZTimestamp &timestamp, time_t time_utc, System::i16 utcOffset=0)
 Converts time_t to UTCTimestamp. More...
 
size_t V12_API tzTimestampToString (char *data, size_t lenght, const TZTimestamp &timestamp, TimeFlags flags)
 Converts to char buffer TZTimestamp( "YYYYMMDD-HH:MM:SS[.sss][Z | [ + | - hh[:mm]]]" ) without terminating zero. More...
 
size_t V12_API utcDateOnlyToString (char *data, size_t lenght, const UTCDateOnly date)
 Converts to char buffer UTCDateOnly( "YYYYMMDD" ) without terminating zero. More...
 
size_t V12_API utcTimeOnlyToString (char *data, size_t lenght, const UTCTimeOnly &time, TimeFlags flags=Milliseconds)
 Converts to char buffer UTCTimeOnly( "HH:MM:SS[.sss]" ) without terminating zero. More...
 
void V12_API utcTimestampFromTimeSpec (UTCTimestamp &timestamp, const struct timespec &ts)
 Converts timespec to UTCTimestamp. More...
 
void V12_API utcTimestampFromTimeT (UTCTimestamp &timestamp, time_t time_utc)
 Converts time_t to UTCTimestamp. More...
 
void V12_API utcTimestampFromTZTimestamp (UTCTimestamp &utcTimestamp, const TZTimestamp &tzTimestamp)
 Converts TZTimestamp to UTCTimestamp. More...
 
size_t V12_API utcTimestampToString (char *data, size_t lenght, const UTCTimestamp &timestamp, TimeFlags flags=Milliseconds)
 Converts to string UTCTimestamp( "YYYYMMDD-HH:MM:SS[.sss]" ) without terminating zero. More...
 

Variables

static const unsigned int ValueSizeBufferTZTimeOnly = sizeof( "HH:MM:SS.ssssssssssss+OO:OO" )-1
 Minimum size buffer for convert to format TZTimeOnly. More...
 
static const unsigned int ValueSizeBufferTZTimestamp = sizeof( "YYYYMMDD-HH:MM:SS.ssssssssssss+OO:OO" )-1
 Minimum size buffer for convert to format TZTimestamp. More...
 
static const unsigned int ValueSizeBufferUTCDateOnly = sizeof( "YYYYMMDD" )-1
 Minimum size buffer for convert to format UTCDateOnly. More...
 
static const unsigned int ValueSizeBufferUTCTimeOnly = sizeof( "HH:MM:SS.ssssssssssss" )-1
 Minimum size buffer for convert to format UTCTimeOnly. More...
 
static const unsigned int ValueSizeBufferUTCTimestamp = sizeof( "YYYYMMDD-HH:MM:SS.ssssssssssss" )-1
 Minimum size buffer for convert to format UTCTimestamp. More...
 
static const unsigned int ValueSizeUTCTimeOnlyMicro = sizeof( "HH:MM:SS.ssssss" )-1
 Lenght of string format UTCTimeOnly with microsecond. More...
 
static const unsigned int ValueSizeUTCTimeOnlyMilli = sizeof( "HH:MM:SS.sss" )-1
 Lenght of string format UTCTimeOnly with millisecond. More...
 
static const unsigned int ValueSizeUTCTimeOnlyNano = sizeof( "HH:MM:SS.sssssssss" )-1
 Lenght of string format UTCTimeOnly with nanosecond. More...
 
static const unsigned int ValueSizeUTCTimeOnlyPico = sizeof( "HH:MM:SS.ssssssssssss" )-1
 Lenght of string format UTCTimeOnly with picosecond. More...
 
static const unsigned int ValueSizeUTCTimeOnlySec = sizeof( "HH:MM:SS" )-1
 Lenght of string format UTCTimeOnly with second. More...
 
static const unsigned int ValueSizeUTCTimestampMicro = sizeof( "YYYYMMDD-HH:MM:SS.ssssss" )-1
 Lenght of string format UTCTimestamp with microsecond. More...
 
static const unsigned int ValueSizeUTCTimestampMilli = sizeof( "YYYYMMDD-HH:MM:SS.sss" )-1
 Lenght of string format UTCTimestamp with millisecond. More...
 
static const unsigned int ValueSizeUTCTimestampNano = sizeof( "YYYYMMDD-HH:MM:SS.sssssssss" )-1
 Lenght of string format UTCTimestamp with nanosecond. More...
 
static const unsigned int ValueSizeUTCTimestampPico = sizeof( "YYYYMMDD-HH:MM:SS.ssssssssssss" )-1
 Lenght of string format UTCTimestamp with picosecond. More...
 
static const unsigned int ValueSizeUTCTimestampSec = sizeof( "YYYYMMDD-HH:MM:SS" )-1
 Lenght of string format UTCTimestamp with second. More...
 

Enumeration Type Documentation

Time flags for converts to string.

Enumerator
Seconds 

Converts to string with seconds.

Milliseconds 

Converts to string with milliseconds.

Microseconds 

Converts to string with microseconds.

Nanoseconds 

Converts to string with nanoseconds.

Picoseconds 

Converts to string with picoseconds.

TrimTrailingZeros 

Trim zeros.

MillisecondsAndTrim 

Converts to string with milliseconds and trim zeros.

MicrosecondsAndTrim 

Converts to string with microseconds and trim zeros.

NanosecondsAndTrim 

Converts to string with nanoseconds and trim zeros.

PicosecondsAndTrim 

Converts to string with picoseconds and trim zeros.

Function Documentation

void V12_API Engine::TZTimeHelper::nanosToUTCTimestamp ( System::u64  nanoTimestamp,
UTCTimestamp &  timestamp 
)

Fills date and time in TZTimestamp from nano seconds timestamp in UTC.

Parameters
nanoTimestampUTC timestamp in nano seconds
timestampstructure TZTimeOnly with date and time in UTC
void V12_API Engine::TZTimeHelper::nowTZDateOnly ( UTCDateOnly &  date)

Fills current date in UTCDateOnly in local time zone.

Parameters
datestructure UTCDateOnly with date data
UTCDateOnly V12_API Engine::TZTimeHelper::nowTZDateOnly ( )

Get current date with local time zone.

void V12_API Engine::TZTimeHelper::nowTZTimeOnly ( TZTimeOnly &  time)

Fills current time in TZTimeOnly.

Parameters
timestructure TZTimeOnly with time data
TZTimeOnly V12_API Engine::TZTimeHelper::nowTZTimeOnly ( )

Get current time in local time zone.

void V12_API Engine::TZTimeHelper::nowTZTimestamp ( TZTimestamp &  timestamp)

Fills current date and time in TZTimestamp.

Parameters
timestampstructure TZTimeOnly with date and time in local time zone
TZTimestamp V12_API Engine::TZTimeHelper::nowTZTimestamp ( )

Get current time and date in local time zone.

void V12_API Engine::TZTimeHelper::nowUTCDateOnly ( UTCDateOnly &  date)

Fills current date in UTCDateOnly in UTC.

Parameters
datestructure UTCDateOnly with date data
UTCDateOnly V12_API Engine::TZTimeHelper::nowUTCDateOnly ( )

Get current date in UTC.

void V12_API Engine::TZTimeHelper::nowUTCTimeOnly ( UTCTimeOnly &  time)

Fills current time in UTCTimeOnly.

Parameters
timestructure UTCTimeOnly with time data
UTCTimeOnly V12_API Engine::TZTimeHelper::nowUTCTimeOnly ( )

Get current time in UTC.

void V12_API Engine::TZTimeHelper::nowUTCTimestamp ( UTCTimestamp &  timestamp)

Fills current date and time in TZTimestamp.

Parameters
timestampstructure TZTimeOnly with date and time in UTC
UTCTimestamp V12_API Engine::TZTimeHelper::nowUTCTimestamp ( )

Get current date and time in UTC.

bool V12_API Engine::TZTimeHelper::parseDateOnly ( const char *  data,
size_t  lenght,
UTCDateOnly &  date 
)

Parses string UTCDateOnly - "YYYYMMDD" to UTCDateOnly structure.

Parameters
dataMemory buffer with string
lenghtLenght of string in data
[out]datestructure UTCDateOnly with data parsing
Returns
success parsing
bool V12_API Engine::TZTimeHelper::parseTimeOnly ( const char *  data,
size_t  lenght,
TZTimeOnly &  time 
)

Parses string UTCTimeOnly( "HH:MM:SS[.sss]" ) or TZTimeOnly( "HH:MM[:SS][.sss][Z | [ + | - hh[:mm]]]" ) to TZTimeOnly structure.

Parameters
dataMemory buffer with string
lenghtLenght of string in data
[out]timestructure TZTimeOnly with data parsing
Returns
success parsing
bool V12_API Engine::TZTimeHelper::parseTimestamp ( const char *  data,
size_t  lenght,
TZTimestamp &  timestamp 
)

Parses string UTCTimestamp( "YYYYMMDD-HH:MM:SS[.sss]" ) or TZTimestamp( "YYYYMMDD-HH:MM:SS[.sss][Z | [ + | - hh[:mm]]]" ) to TZTimestamp structure.

Parameters
dataMemory buffer with string
lenghtLenght of string in data
timestampstructure TZTimestamp with data parsing
Returns
success parsing
bool V12_API Engine::TZTimeHelper::parseUTCTimeOnly ( const char *  data,
size_t  lenght,
UTCTimeOnly &  time 
)

Parses string UTCTimeOnly - "HH:MM:SS[.sss]" to UTCTimeOnly structure.

Parameters
dataMemory buffer with string
lenghtLenght of string in data
[out]timestructure UTCTimeOnly with data parsing
Returns
success parsing
bool V12_API Engine::TZTimeHelper::parseUTCTimestamp ( const char *  data,
size_t  lenght,
UTCTimestamp &  timestamp 
)

Parses string UTCTimestamp - "YYYYMMDD-HH:MM:SS[.sss]" to UTCTimestamp structure.

Parameters
dataMemory buffer with string
lenghtLenght of string in data
[out]timestampstructure UTCTimestamp with data parsing
Returns
success parsing
void V12_API Engine::TZTimeHelper::timeSpecFromTZTimestamp ( struct timespec &  ts,
const TZTimestamp &  timestamp,
bool  convertToUTC = true 
)

Converts TZTimestamp to timespec.

Parameters
[out]tsdestination timespec data
timestampsource TZTimestamp data
convertToUTCConvert or not in UTC
void V12_API Engine::TZTimeHelper::timeSpecTFromUTCTimestamp ( struct timespec &  ts,
const UTCTimestamp &  timestamp 
)

Converts UTCTimestamp to timespec.

Parameters
[out]tsdestination timespec data
timestampsource UTCTimestamp data
time_t V12_API Engine::TZTimeHelper::timeTFromTZTimestamp ( const TZTimestamp &  timestamp,
bool  convertToUTC = true 
)

Converts TZTimestamp to time_t.

Parameters
timestampsource TZTimestamp data
convertToUTCConvert or not in UTC
Returns
time_t data
time_t V12_API Engine::TZTimeHelper::timeTFromUTCTimestamp ( const UTCTimestamp &  timestamp)

Converts UTCTimestamp to time_t.

Returns
time_t data
size_t V12_API Engine::TZTimeHelper::tzTimeOnlyToString ( char *  data,
size_t  lenght,
const TZTimeOnly &  time,
TimeFlags  flags = Milliseconds 
)

Converts to char buffer TZTimeOnly( "HH:MM[:SS][.sss][Z | [ + | - hh[:mm]]]" ) without terminating zero.

Parameters
[out]dataMemory buffer
lenghtSize memory buffer ( use ValueSizeBufferTZTimeOnly or more )
timestructure TZTimeOnly with time data
flagsTime precision flags for conversion to string representation
Returns
Lenght string
void V12_API Engine::TZTimeHelper::tzTimestampFromTimeSpec ( TZTimestamp &  timestamp,
const struct timespec &  ts,
System::i16  utcOffset = 0 
)

Converts timespec to TZTimestamp.

Parameters
[out]timestampdestination TZTimestamp data
tssource timespec data
utcOffsetUTC Offset for TZTimestamp
void V12_API Engine::TZTimeHelper::tzTimestampFromTimeT ( TZTimestamp &  timestamp,
time_t  time_utc,
System::i16  utcOffset = 0 
)

Converts time_t to UTCTimestamp.

Parameters
[out]timestampdestination TZTimestamp data
time_utcsource time_t data in utc
utcOffsetUTC Offset for TZTimestamp
size_t V12_API Engine::TZTimeHelper::tzTimestampToString ( char *  data,
size_t  lenght,
const TZTimestamp &  timestamp,
TimeFlags  flags 
)

Converts to char buffer TZTimestamp( "YYYYMMDD-HH:MM:SS[.sss][Z | [ + | - hh[:mm]]]" ) without terminating zero.

Parameters
[out]dataMemory buffer
lenghtSize memory buffer ( use ValueSizeBufferTZTimestamp or more )
timestampstructure TZTimestamp with date and time
flagsTime precision flags for conversion to string representation
Returns
Lenght string
size_t V12_API Engine::TZTimeHelper::utcDateOnlyToString ( char *  data,
size_t  lenght,
const UTCDateOnly  date 
)

Converts to char buffer UTCDateOnly( "YYYYMMDD" ) without terminating zero.

Parameters
[out]dataMemory buffer
lenghtSize memory buffer ( use sizeBufferTZDateOnly or more )
datestructure UTCDateOnly with date data
Returns
Lenght string
size_t V12_API Engine::TZTimeHelper::utcTimeOnlyToString ( char *  data,
size_t  lenght,
const UTCTimeOnly &  time,
TimeFlags  flags = Milliseconds 
)

Converts to char buffer UTCTimeOnly( "HH:MM:SS[.sss]" ) without terminating zero.

Parameters
[out]dataMemory buffer
lenghtSize memory buffer ( use ValueSizeBufferUTCTimeOnly or more )
timestructure UTCTimeOnly with time data
flagsTime precision flags for conversion to string representation
Returns
Lenght string
void V12_API Engine::TZTimeHelper::utcTimestampFromTimeSpec ( UTCTimestamp &  timestamp,
const struct timespec &  ts 
)

Converts timespec to UTCTimestamp.

Parameters
[out]timestampdestination UTCTimestamp data
tssource timespec data
void V12_API Engine::TZTimeHelper::utcTimestampFromTimeT ( UTCTimestamp &  timestamp,
time_t  time_utc 
)

Converts time_t to UTCTimestamp.

Parameters
[out]timestampdestination UTCTimestamp data
time_utcsource time_t data in utc
void V12_API Engine::TZTimeHelper::utcTimestampFromTZTimestamp ( UTCTimestamp &  utcTimestamp,
const TZTimestamp &  tzTimestamp 
)

Converts TZTimestamp to UTCTimestamp.

Parameters
[out]utcTimestampdestination UTCTimestamp data
tzTimestampsource TZTimestamp data
size_t V12_API Engine::TZTimeHelper::utcTimestampToString ( char *  data,
size_t  lenght,
const UTCTimestamp &  timestamp,
TimeFlags  flags = Milliseconds 
)

Converts to string UTCTimestamp( "YYYYMMDD-HH:MM:SS[.sss]" ) without terminating zero.

Parameters
[out]dataMemory buffer
lenghtSize memory buffer ( use ValueSizeBufferUTCTimestamp or more )
timestampstructure UTCTimestamp with date and time
flagsTime precision flags for conversion to string representation
Returns
Lenght string

Variable Documentation

const unsigned int Engine::TZTimeHelper::ValueSizeBufferTZTimeOnly = sizeof( "HH:MM:SS.ssssssssssss+OO:OO" )-1
static

Minimum size buffer for convert to format TZTimeOnly.

const unsigned int Engine::TZTimeHelper::ValueSizeBufferTZTimestamp = sizeof( "YYYYMMDD-HH:MM:SS.ssssssssssss+OO:OO" )-1
static

Minimum size buffer for convert to format TZTimestamp.

const unsigned int Engine::TZTimeHelper::ValueSizeBufferUTCDateOnly = sizeof( "YYYYMMDD" )-1
static

Minimum size buffer for convert to format UTCDateOnly.

const unsigned int Engine::TZTimeHelper::ValueSizeBufferUTCTimeOnly = sizeof( "HH:MM:SS.ssssssssssss" )-1
static

Minimum size buffer for convert to format UTCTimeOnly.

const unsigned int Engine::TZTimeHelper::ValueSizeBufferUTCTimestamp = sizeof( "YYYYMMDD-HH:MM:SS.ssssssssssss" )-1
static

Minimum size buffer for convert to format UTCTimestamp.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimeOnlyMicro = sizeof( "HH:MM:SS.ssssss" )-1
static

Lenght of string format UTCTimeOnly with microsecond.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimeOnlyMilli = sizeof( "HH:MM:SS.sss" )-1
static

Lenght of string format UTCTimeOnly with millisecond.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimeOnlyNano = sizeof( "HH:MM:SS.sssssssss" )-1
static

Lenght of string format UTCTimeOnly with nanosecond.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimeOnlyPico = sizeof( "HH:MM:SS.ssssssssssss" )-1
static

Lenght of string format UTCTimeOnly with picosecond.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimeOnlySec = sizeof( "HH:MM:SS" )-1
static

Lenght of string format UTCTimeOnly with second.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimestampMicro = sizeof( "YYYYMMDD-HH:MM:SS.ssssss" )-1
static

Lenght of string format UTCTimestamp with microsecond.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimestampMilli = sizeof( "YYYYMMDD-HH:MM:SS.sss" )-1
static

Lenght of string format UTCTimestamp with millisecond.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimestampNano = sizeof( "YYYYMMDD-HH:MM:SS.sssssssss" )-1
static

Lenght of string format UTCTimestamp with nanosecond.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimestampPico = sizeof( "YYYYMMDD-HH:MM:SS.ssssssssssss" )-1
static

Lenght of string format UTCTimestamp with picosecond.

const unsigned int Engine::TZTimeHelper::ValueSizeUTCTimestampSec = sizeof( "YYYYMMDD-HH:MM:SS" )-1
static

Lenght of string format UTCTimestamp with second.