FIX::DateTime Struct Reference
User

`#include <FieldTypes.h>`

Inheritance diagram for FIX::DateTime:
[legend]

## Public Member Functions

| DateTime ()
| Default constructor - initializes to zero. More...
| DateTime (int date, int64_t time)
| Construct from a Julian day number and time in millis. More...
| DateTime (int year, int month, int day, int hour, int minute, int second, int millis)
| Construct from the specified components. More...
| DateTime (int year, int month, int day, int hour, int minute, int second, int fraction, int precision)
| Construct from the specified components. More...
virtual | ~DateTime ()
int | getYear () const
| Return the year portion of the date. More...
int | getMonth () const
| Return the month (1-12) portion of the date. More...
int | getDay () const
| Return the day of the month portion of the date. More...
int | getDate () const
| Another name for the day of the month. More...
int | getJulianDate () const
| Return the internal julian date. More...
int | getHour () const
| Return the hour portion of the time (0-23) More...
int | getMinute () const
| Return the minute portion of the time (0-59) More...
int | getSecond () const
| Return the second portion of the time (0-59) More...
int | getMillisecond () const
| Return the millisecond portion of the time (0-999) More...
int | getMicroecond () const
| Return the microsecond portion of the time. More...
unsigned int | getNanosecond () const
| Return the nanosecond portion of the time. More...
int | getFraction (int precision) const
| Return the fraction portion of the time. More...
void | getYMD (int &year, int &month, int &day) const
| Load the referenced values with the year, month and day portions of the date in a single operation. More...
void | getHMS (int &hour, int &minute, int &second, int &millis) const
| Load the referenced values with the hour, minute, second and millisecond portions of the time in a single operation. More...
void | getHMS (int &hour, int &minute, int &second, int &fraction, int precision) const
| Load the referenced values with the hour, minute, second and fraction portions of the time in a single operation. More...
int | getWeekDay () const
| Calculate the weekday of the date (Sunday is 1, Saturday is 7) More...
time_t | getTimeT () const
| Convert the DateTime to a time_t. More...
tm | getTmUtc () const
| Convert the DateTime to a struct tm which is in UTC. More...
void | setYMD (int year, int month, int day)
| Set the date portion of the DateTime. More...
void | setHMS (int hour, int minute, int second, int millis)
| Set the time portion of the DateTime. More...
void | setHMS (int hour, int minute, int second, int fraction, int precision)
| Set the time portion of the DateTime. More...
void | setHour (int hour)
| Set the hour portion of the time. More...
void | setMinute (int min)
| Set the minute portion of the time. More...
void | setSecond (int sec)
| Set the seconds portion of the time. More...
void | setMillisecond (int millis)
| Set the millisecond portion of the time. More...
void | setMicrosecond (int micros)
| Set the microsecond portion of the time. More...
void | setNanosecond (int nanos)
| Set the nanosecond portion of the time. More...
void | setFraction (int fraction, int precision)
| Set the fraction portion of the time. More...
void | clearDate ()
| Clear the date portion of the DateTime. More...
void | clearTime ()
| Clear the time portion of the DateTime. More...
void | set (int date, int64_t time)
| Set the internal date and time members. More...
void | set (const DateTime &other)
| Initialize from another DateTime. More...
void | operator+= (int seconds)
| Add a number of seconds to this. More...

## Static Public Member Functions

static int | convertToNanos (int fraction, int precision)
| Convert to internal nanos. More...
static int64_t | makeHMS (int hour, int minute, int second, int nanos)
| Helper method to convert a broken down time to a number of nanoseconds since midnight. More...
static DateTime | nowUtc ()
| Return the current wall-clock time as a utc DateTime. More...
static DateTime | nowLocal ()
| Return the current wall-clock time as a local DateTime. More...
static DateTime | fromUtcTimeT (time_t t, int millis=0)
| Convert a time_t and optional milliseconds to a DateTime. More...
static DateTime | fromLocalTimeT (time_t t, int millis=0)
static DateTime | fromUtcTimeT (time_t t, int fraction, int precision)
static DateTime | fromLocalTimeT (time_t t, int fraction, int precision)
static DateTime | fromTm (const tm &tm, int millis=0)
| Convert a tm and optional milliseconds to a DateTime. More...
static DateTime | fromTm (const tm &tm, int fraction, int precision)
| Convert a tm and optional milliseconds to a DateTime. More...
static int | julianDate (int year, int month, int day)
| Helper method to calculate a Julian day number. More...
static void | getYMD (int jday, int &year, int &month, int &day)
| Convert a Julian day number to a year, month and day. More...

## Public Attributes

int | m_date
int64_t | m_time

## Static Public Attributes

static const int64_t | SECONDS_PER_DAY = 86400
| Magic numbers. More...
static const int64_t | SECONDS_PER_HOUR = 3600
static const int64_t | SECONDS_PER_MIN = 60
static const int64_t | MINUTES_PER_HOUR = 60
static const int64_t | NANOS_PER_DAY = 86400000000000
static const int64_t | NANOS_PER_HOUR = 3600000000000
static const int64_t | NANOS_PER_MIN = 60000000000
static const int64_t | NANOS_PER_SEC = 1000000000
static const int64_t | JULIAN_19700101 = 2440588

## Detailed Description

Definition at line 77 of file FieldTypes.h.

## Constructor & Destructor Documentation

## DateTime() [1/4]

FIX::DateTime::DateTime | ( |  | ) |

inline

Default constructor - initializes to zero.

Definition at line 97 of file FieldTypes.h.

{}

Referenced by fromLocalTimeT().

## DateTime() [2/4]

FIX::DateTime::DateTime | ( | int | date,
|  | int64_t | time
| ) |  |

inline

Construct from a Julian day number and time in millis.

Definition at line 100 of file FieldTypes.h.

{}

## DateTime() [3/4]

FIX::DateTime::DateTime | ( | int | year,
|  | int | month,
|  | int | day,
|  | int | hour,
|  | int | minute,
|  | int | second,
|  | int | millis
| ) |  |

inline

Construct from the specified components.

Definition at line 103 of file FieldTypes.h.

{
int y, m, d;
getYMD( y, m, d );

References getYMD().

## DateTime() [4/4]

FIX::DateTime::DateTime | ( | int | year,
|  | int | month,
|  | int | day,
|  | int | hour,
|  | int | minute,
|  | int | second,
|  | int | fraction,
|  | int | precision
| ) |  |

inline

Construct from the specified components.

Definition at line 111 of file FieldTypes.h.

{
int y, m, d;
getYMD( y, m, d );
return m;

References getYMD().

## ~DateTime()

virtual FIX::DateTime::~DateTime | ( |  | ) |

inline virtual

Definition at line 119 of file FieldTypes.h.

{

## Member Function Documentation

## clearDate()

void FIX::DateTime::clearDate | ( |  | ) |

inline

Clear the date portion of the DateTime.

Definition at line 375 of file FieldTypes.h.

{

Referenced by FIX::LocalTimeOnly::LocalTimeOnly(), FIX::LocalTimeStamp::setCurrent(), FIX::UtcTimeOnly::setCurrent(), and FIX::UtcTimeOnly::UtcTimeOnly().

## clearTime()

void FIX::DateTime::clearTime | ( |  | ) |

inline

Clear the time portion of the DateTime.

Definition at line 381 of file FieldTypes.h.

{
int d = seconds / SECONDS_PER_DAY;
int s = seconds % SECONDS_PER_DAY;

References m_date, m_time, NANOS_PER_SEC, and SECONDS_PER_DAY.

Referenced by FIX::LocalDate::LocalDate(), FIX::LocalTimeOnly::setCurrent(), FIX::UtcDate::setCurrent(), and FIX::UtcDate::UtcDate().

## convertToNanos()

static int FIX::DateTime::convertToNanos | ( | int | fraction,
|  | int | precision
| ) |  |

inline static

Convert to internal nanos.

Definition at line 418 of file FieldTypes.h.

:
nanos = fraction * PRECISION_FACTOR[3];
break;
case 4:
nanos = fraction * PRECISION_FACTOR[4];
break;
case 5:
nanos = fraction * PRECISION_FACTOR[5];
break;
case 6:
nanos = fraction * PRECISION_FACTOR[6];
break;
case 7:
nanos = fraction * PRECISION_FACTOR[7];
break;
case 8:
nanos = fraction * PRECISION_FACTOR[8];
break;
case 9:
default:
nanos = fraction * PRECISION_FACTOR[9];
break;
}
return nanos;
}
static int64_t makeHMS( int hour, int minute, int second, int nanos )
{
return NANOS_PER_SEC * (SECONDS_PER_HOUR * hour +
SECONDS_PER_MIN * minute +
second) + nanos;
}
static DateTime nowUtc();
static DateTime nowLocal();

Referenced by fromLocalTimeT().

## fromLocalTimeT() [1/2]

static DateTime FIX::DateTime::fromLocalTimeT | ( | time_t | t,
|  | int | fraction,
|  | int | precision
| ) |  |

inline static

Definition at line 503 of file FieldTypes.h.

{
int nanos = convertToNanos(fraction, precision);
return DateTime ( julianDate(tm.tm_year + 1900, tm.tm_mon + 1,
tm.tm_mday),

References convertToNanos(), DateTime(), julianDate(), and makeHMS().

## fromLocalTimeT() [2/2]

static DateTime FIX::DateTime::fromLocalTimeT | ( | time_t | t,
|  | int | millis = `0`
| ) |  |

inline static

Definition at line 491 of file FieldTypes.h.

{

References DateTime(), and julianDate().

## fromTm() [1/2]

static DateTime FIX::DateTime::fromTm | ( | const tm & | tm,
|  | int | fraction,
|  | int | precision
| ) |  |

inline static

Convert a tm and optional milliseconds to a DateTime.

Note
  the tm structure is assumed to contain a date specified in UTC

Definition at line 520 of file FieldTypes.h.

{
int a = jday + 32044;
int b = (4 * a + 3) / 146097;
int c = a - int ((b * 146097) / 4);

## fromTm() [2/2]

static DateTime FIX::DateTime::fromTm | ( | const tm & | tm,
|  | int | millis = `0`
| ) |  |

inline static

Convert a tm and optional milliseconds to a DateTime.

Note
  the tm structure is assumed to contain a date specified in UTC

Definition at line 511 of file FieldTypes.h.

{
int a = (14 - month) / 12;
int y = year + 4800 - a;
int m = month + 12 * a - 3;

Referenced by fromUtcTimeT().

## fromUtcTimeT() [1/2]

static DateTime FIX::DateTime::fromUtcTimeT | ( | time_t | t,
|  | int | fraction,
|  | int | precision
| ) |  |

inline static

Definition at line 497 of file FieldTypes.h.

{

## fromUtcTimeT() [2/2]

static DateTime FIX::DateTime::fromUtcTimeT | ( | time_t | t,
|  | int | millis = `0`
| ) |  |

inline static

Convert a time_t and optional milliseconds to a DateTime.

Definition at line 485 of file FieldTypes.h.

{
struct tm tm = time_localtime( &t );
return fromTm( tm, fraction, precision );

References fromTm(), and FIX::time_localtime().

## getDate()

int FIX::DateTime::getDate | ( |  | ) | const

inline

Another name for the day of the month.

Bad name, but used because of the legacy UtcTimeStamp interface

Definition at line 147 of file FieldTypes.h.

{

## getDay()

int FIX::DateTime::getDay | ( |  | ) | const

inline

Return the day of the month portion of the date.

Definition at line 138 of file FieldTypes.h.

{

Referenced by getMonth().

## getFraction()

int FIX::DateTime::getFraction | ( | int | precision | ) | const

inline

Return the fraction portion of the time.

Definition at line 189 of file FieldTypes.h.

:
return (getNanosecond() / PRECISION_FACTOR[5]);
case 6:
return (getNanosecond() / PRECISION_FACTOR[6]);
case 7:
return (getNanosecond() / PRECISION_FACTOR[7]);
case 8:
return (getNanosecond() / PRECISION_FACTOR[8]);
case 9:
default:
return (getNanosecond() / PRECISION_FACTOR[9]);
}
}
inline void getYMD (int& year, int& month, int& day) const
{
getYMD( m_date, year, month, day );
}
inline void getHMS( int& hour, int& minute, int& second, int& millis ) const
{
int ticks = (int)(m_time / NANOS_PER_SEC);
hour = ticks / SECONDS_PER_HOUR;
minute = (ticks / SECONDS_PER_MIN) % MINUTES_PER_HOUR;
second = ticks % SECONDS_PER_MIN;
millis = getMillisecond();

## getHMS() [1/2]

void FIX::DateTime::getHMS | ( | int & | hour,
|  | int & | minute,
|  | int & | second,
|  | int & | fraction,
|  | int | precision
| ) |  | const

inline

Load the referenced values with the hour, minute, second and fraction portions of the time in a single operation.

Definition at line 246 of file FieldTypes.h.

: wd);
}

## getHMS() [2/2]

void FIX::DateTime::getHMS | ( | int & | hour,
|  | int & | minute,
|  | int & | second,
|  | int & | millis
| ) |  | const

inline

Load the referenced values with the hour, minute, second and millisecond portions of the time in a single operation.

Definition at line 235 of file FieldTypes.h.

{
int Y, M, D;
getYMD (Y, M, D);

Referenced by setHMS(), setHour(), setMicrosecond(), setMillisecond(), setMinute(), and setSecond().

## getHour()

int FIX::DateTime::getHour | ( |  | ) | const

inline

Return the hour portion of the time (0-23)

Definition at line 153 of file FieldTypes.h.

{
return (getNanosecond() / PRECISION_FACTOR[3]);

## getJulianDate()

int FIX::DateTime::getJulianDate | ( |  | ) | const

inline

Return the internal julian date.

Definition at line 150 of file FieldTypes.h.

{

## getMicroecond()

int FIX::DateTime::getMicroecond | ( |  | ) | const

inline

Return the microsecond portion of the time.

Definition at line 177 of file FieldTypes.h.

:
return (getNanosecond() / PRECISION_FACTOR[1]);

## getMillisecond()

int FIX::DateTime::getMillisecond | ( |  | ) | const

inline

Return the millisecond portion of the time (0-999)

Definition at line 171 of file FieldTypes.h.

{
switch (precision)

## getMinute()

int FIX::DateTime::getMinute | ( |  | ) | const

inline

Return the minute portion of the time (0-59)

Definition at line 159 of file FieldTypes.h.

{
return (getNanosecond() / PRECISION_FACTOR[6]);

## getMonth()

int FIX::DateTime::getMonth | ( |  | ) | const

inline

Return the month (1-12) portion of the date.

Definition at line 130 of file FieldTypes.h.

{ return getDay(); }
inline int getJulianDate() const { return m_date; }

References getDay().

## getNanosecond()

unsigned int FIX::DateTime::getNanosecond | ( |  | ) | const

inline

Return the nanosecond portion of the time.

Definition at line 183 of file FieldTypes.h.

:
return (getNanosecond() / PRECISION_FACTOR[3]);

## getSecond()

int FIX::DateTime::getSecond | ( |  | ) | const

inline

Return the second portion of the time (0-59)

Definition at line 165 of file FieldTypes.h.

{
return static_cast<uint64_t>(m_time) % NANOS_PER_SEC;

## getTimeT()

time_t FIX::DateTime::getTimeT | ( |  | ) | const

inline

Convert the DateTime to a time_t.

Note that this operation can overflow on 32-bit platforms when we go beyond year 2038.

Definition at line 271 of file FieldTypes.h.

{

Referenced by FIX::TimeRange::isInRange().

## getTmUtc()

tm FIX::DateTime::getTmUtc | ( |  | ) | const

inline

Convert the DateTime to a struct tm which is in UTC.

Definition at line 278 of file FieldTypes.h.

{
m_date = julianDate( year, month, day );
}
void setHMS( int hour, int minute, int second, int millis )
{
m_time = makeHMS( hour, minute, second, millis * PRECISION_FACTOR[3] );
}
void setHMS( int hour, int minute, int second, int fraction, int precision )
{
int nanos = convertToNanos(fraction, precision);

## getWeekDay()

int FIX::DateTime::getWeekDay | ( |  | ) | const

inline

Calculate the weekday of the date (Sunday is 1, Saturday is 7)

Definition at line 256 of file FieldTypes.h.

{
int year, month, day;
int hour, minute, second, millis;
tm result = { 0 };
getYMD( year, month, day );

## getYear()

int FIX::DateTime::getYear | ( |  | ) | const

inline

Return the year portion of the date.

Definition at line 122 of file FieldTypes.h.

{
int y, m, d;
getYMD( y, m, d );
return d;
}

References getYMD().

## getYMD() [1/2]

void FIX::DateTime::getYMD | ( | int & | year,
|  | int & | month,
|  | int & | day
| ) |  | const

inline

Load the referenced values with the year, month and day portions of the date in a single operation.

Definition at line 228 of file FieldTypes.h.

{
int ticks = (int)(m_time / NANOS_PER_SEC);

Referenced by DateTime(), and getYear().

## getYMD() [2/2]

static void FIX::DateTime::getYMD | ( | int | jday,
|  | int & | year,
|  | int & | month,
|  | int & | day
| ) |  |

inline static

Convert a Julian day number to a year, month and day.

Definition at line 539 of file FieldTypes.h.

{
return !(lhs == rhs);
}
inline bool operator<( const DateTime& lhs, const DateTime& rhs )
{
if( lhs.m_date < rhs.m_date )
return true;
else if( lhs.m_date > rhs.m_date )

## julianDate()

static int FIX::DateTime::julianDate | ( | int | year,
|  | int | month,
|  | int | day
| ) |  |

inline static

Helper method to calculate a Julian day number.

Definition at line 529 of file FieldTypes.h.

{

Referenced by fromLocalTimeT().

## makeHMS()

static int64_t FIX::DateTime::makeHMS | ( | int | hour,
|  | int | minute,
|  | int | second,
|  | int | nanos
| ) |  |

inline static

Helper method to convert a broken down time to a number of nanoseconds since midnight.

Definition at line 471 of file FieldTypes.h.

{
struct tm tm = time_localtime( &t );

Referenced by fromLocalTimeT().

## nowLocal()

DateTime FIX::DateTime::nowLocal | ( |  | ) |

static

Return the current wall-clock time as a local DateTime.

Definition at line 66 of file FieldTypes.cpp.

Referenced by FIX::LocalDate::LocalDate(), FIX::LocalTimeOnly::LocalTimeOnly(), and FIX::LocalTimeStamp::LocalTimeStamp().

## nowUtc()

DateTime FIX::DateTime::nowUtc | ( |  | ) |

static

Return the current wall-clock time as a utc DateTime.

Definition at line 51 of file FieldTypes.cpp.

Referenced by FIX::UtcDate::UtcDate(), FIX::UtcTimeOnly::UtcTimeOnly(), and FIX::UtcTimeStamp::UtcTimeStamp().

## operator+=()

void FIX::DateTime::operator+= | ( | int | seconds | ) |

inline

Add a number of seconds to this.

Definition at line 397 of file FieldTypes.h.

{
int nanos;
switch (precision)
{
case 0:
nanos = fraction * PRECISION_FACTOR[0];
break;
case 1:
nanos = fraction * PRECISION_FACTOR[1];
break;
case 2:

## set() [1/2]

void FIX::DateTime::set | ( | const DateTime & | other | ) |

inline

Initialize from another DateTime.

Definition at line 390 of file FieldTypes.h.

{

## set() [2/2]

void FIX::DateTime::set | ( | int | date,
|  | int64_t | time
| ) |  |

inline

Set the internal date and time members.

Definition at line 387 of file FieldTypes.h.

{

Referenced by FIX::LocalTimeStamp::LocalTimeStamp(), and FIX::UtcTimeStamp::UtcTimeStamp().

## setFraction()

void FIX::DateTime::setFraction | ( | int | fraction,
|  | int | precision
| ) |  |

inline

Set the fraction portion of the time.

Definition at line 367 of file FieldTypes.h.

{ m_date = date; m_time = time; }

## setHMS() [1/2]

void FIX::DateTime::setHMS | ( | int | hour,
|  | int | minute,
|  | int | second,
|  | int | fraction,
|  | int | precision
| ) |  |

inline

Set the time portion of the DateTime.

Definition at line 311 of file FieldTypes.h.

{
int hour, old_min, sec, millis;
getHMS( hour, old_min, sec, millis );
setHMS( hour, min, sec, millis );
}

References getHMS(), and setHMS().

## setHMS() [2/2]

void FIX::DateTime::setHMS | ( | int | hour,
|  | int | minute,
|  | int | second,
|  | int | millis
| ) |  |

inline

Set the time portion of the DateTime.

Definition at line 305 of file FieldTypes.h.

{

Referenced by FIX::LocalTimeOnly::LocalTimeOnly(), FIX::operator-(), FIX::UtcTimeStamp::setCurrent(), setHMS(), setHour(), setMicrosecond(), setMillisecond(), setMinute(), setSecond(), and FIX::UtcTimeOnly::UtcTimeOnly().

## setHour()

void FIX::DateTime::setHour | ( | int | hour | ) |

inline

Set the hour portion of the time.

Definition at line 319 of file FieldTypes.h.

{
int hour, min, old_sec, millis;
getHMS( hour, min, old_sec, millis );
setHMS( hour, min, sec, millis );
}

References getHMS(), and setHMS().

## setMicrosecond()

void FIX::DateTime::setMicrosecond | ( | int | micros | ) |

inline

Set the microsecond portion of the time.

Definition at line 351 of file FieldTypes.h.

{
int hour, min, sec, old_nanos;
getHMS( hour, min, sec, old_nanos, 9 );
setHMS( hour, min, sec, fraction, precision );
}

References getHMS(), and setHMS().

## setMillisecond()

void FIX::DateTime::setMillisecond | ( | int | millis | ) |

inline

Set the millisecond portion of the time.

Definition at line 343 of file FieldTypes.h.

{
int hour, min, sec, old_nanos;
getHMS( hour, min, sec, old_nanos, 9 );
setHMS( hour, min, sec, nanos, 9 );
}

References getHMS(), and setHMS().

## setMinute()

void FIX::DateTime::setMinute | ( | int | min | ) |

inline

Set the minute portion of the time.

Definition at line 327 of file FieldTypes.h.

{
int hour, min, sec, old_millis;
getHMS( hour, min, sec, old_millis );
setHMS( hour, min, sec, millis );
}

References getHMS(), and setHMS().

## setNanosecond()

void FIX::DateTime::setNanosecond | ( | int | nanos | ) |

inline

Set the nanosecond portion of the time.

Definition at line 359 of file FieldTypes.h.

{
m_date = 0;
}
void clearTime()

References m_date.

## setSecond()

void FIX::DateTime::setSecond | ( | int | sec | ) |

inline

Set the seconds portion of the time.

Definition at line 335 of file FieldTypes.h.

{
int hour, min, sec, old_nanos;
getHMS( hour, min, sec, old_nanos, 9 );
setHMS( hour, min, sec, micros, 6 );
}

References getHMS(), and setHMS().

## setYMD()

void FIX::DateTime::setYMD | ( | int | year,
|  | int | month,
|  | int | day
| ) |  |

inline

Set the date portion of the DateTime.

Definition at line 299 of file FieldTypes.h.

{

## Member Data Documentation

## JULIAN_19700101

const int64_t FIX::DateTime::JULIAN_19700101 = 2440588

static

Definition at line 94 of file FieldTypes.h.

## m_date

int FIX::DateTime::m_date

Definition at line 79 of file FieldTypes.h.

Referenced by clearTime(), FIX::LocalDate::LocalDate(), setNanosecond(), and FIX::UtcDate::UtcDate().

## m_time

int64_t FIX::DateTime::m_time

Definition at line 80 of file FieldTypes.h.

Referenced by clearTime(), FIX::LocalTimeOnly::LocalTimeOnly(), and FIX::UtcTimeOnly::UtcTimeOnly().

## MINUTES_PER_HOUR

const int64_t FIX::DateTime::MINUTES_PER_HOUR = 60

static

Definition at line 86 of file FieldTypes.h.

## NANOS_PER_DAY

const int64_t FIX::DateTime::NANOS_PER_DAY = 86400000000000

static

Definition at line 88 of file FieldTypes.h.

## NANOS_PER_HOUR

const int64_t FIX::DateTime::NANOS_PER_HOUR = 3600000000000

static

Definition at line 89 of file FieldTypes.h.

## NANOS_PER_MIN

const int64_t FIX::DateTime::NANOS_PER_MIN = 60000000000

static

Definition at line 90 of file FieldTypes.h.

## NANOS_PER_SEC

const int64_t FIX::DateTime::NANOS_PER_SEC = 1000000000

static

Definition at line 91 of file FieldTypes.h.

Referenced by clearTime(), and FIX::operator>().

## SECONDS_PER_DAY

const int64_t FIX::DateTime::SECONDS_PER_DAY = 86400

static

Magic numbers.

Definition at line 83 of file FieldTypes.h.

Referenced by clearTime(), FIX::TimeRange::isInSameRange(), and FIX::operator>().

## SECONDS_PER_HOUR

const int64_t FIX::DateTime::SECONDS_PER_HOUR = 3600

static

Definition at line 84 of file FieldTypes.h.

## SECONDS_PER_MIN

const int64_t FIX::DateTime::SECONDS_PER_MIN = 60

static

Definition at line 85 of file FieldTypes.h.

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

- FieldTypes.h
- FieldTypes.cpp

FIX::DateTime::getDay
int getDay() const
Return the day of the month portion of the date.
Definition: FieldTypes.h:138
FIX::DateTime::clearTime
void clearTime()
Clear the time portion of the DateTime.
Definition: FieldTypes.h:381
FIX::DateTime::NANOS_PER_SEC
static const int64_t NANOS_PER_SEC
Definition: FieldTypes.h:91
FIX::DateTime::SECONDS_PER_MIN
static const int64_t SECONDS_PER_MIN
Definition: FieldTypes.h:85
FIX::DateTime::nowLocal
static DateTime nowLocal()
Return the current wall-clock time as a local DateTime.
Definition: FieldTypes.cpp:66
FIX::time_localtime
tm time_localtime(const time_t *t)
Definition: Utility.cpp:417
FIX::DateTime::setHMS
void setHMS(int hour, int minute, int second, int millis)
Set the time portion of the DateTime.
Definition: FieldTypes.h:305
FIX::operator<
bool operator<(const DatabaseConnectionID &lhs, const DatabaseConnectionID &rhs)
Definition: DatabaseConnectionID.h:83
FIX::DateTime::m_time
int64_t m_time
Definition: FieldTypes.h:80
FIX::DateTime::julianDate
static int julianDate(int year, int month, int day)
Helper method to calculate a Julian day number.
Definition: FieldTypes.h:529
FIX::DateTime::SECONDS_PER_HOUR
static const int64_t SECONDS_PER_HOUR
Definition: FieldTypes.h:84
int64_t
signed __int64 int64_t
Definition: stdint_msvc.h:90
FIX::DateTime::getHMS
void getHMS(int &hour, int &minute, int &second, int &millis) const
Load the referenced values with the hour, minute, second and millisecond portions of the time in a si...
Definition: FieldTypes.h:235
FIX::DateTime::MINUTES_PER_HOUR
static const int64_t MINUTES_PER_HOUR
Definition: FieldTypes.h:86
FIX::DateTime::getMillisecond
int getMillisecond() const
Return the millisecond portion of the time (0-999)
Definition: FieldTypes.h:171
FIX::PRECISION_FACTOR
static const int PRECISION_FACTOR[10]
Date and Time stored as a Julian day number and number of nanoseconds since midnight.
Definition: FieldTypes.h:75
FIX::DateTime::nowUtc
static DateTime nowUtc()
Return the current wall-clock time as a utc DateTime.
Definition: FieldTypes.cpp:51
FIX::DateTime::convertToNanos
static int convertToNanos(int fraction, int precision)
Convert to internal nanos.
Definition: FieldTypes.h:418
FIX::DateTime::DateTime
DateTime()
Default constructor - initializes to zero.
Definition: FieldTypes.h:97
FIX::DateTime::m_date
int m_date
Definition: FieldTypes.h:79
FIX::DateTime::getNanosecond
unsigned int getNanosecond() const
Return the nanosecond portion of the time.
Definition: FieldTypes.h:183
uint64_t
unsigned __int64 uint64_t
Definition: stdint_msvc.h:91
FIX::DateTime::fromTm
static DateTime fromTm(const tm &tm, int millis=0)
Convert a tm and optional milliseconds to a DateTime.
Definition: FieldTypes.h:511
FIX::DateTime::SECONDS_PER_DAY
static const int64_t SECONDS_PER_DAY
Magic numbers.
Definition: FieldTypes.h:83
FIX::DateTime::getYMD
void getYMD(int &year, int &month, int &day) const
Load the referenced values with the year, month and day portions of the date in a single operation.
Definition: FieldTypes.h:228
FIX::DateTime::getJulianDate
int getJulianDate() const
Return the internal julian date.
Definition: FieldTypes.h:150
FIX::DateTime::makeHMS
static int64_t makeHMS(int hour, int minute, int second, int nanos)
Helper method to convert a broken down time to a number of nanoseconds since midnight.
Definition: FieldTypes.h:471