True, but would this not be what they were going for, given their
methods? (I sub param for class member m_dateTime for example's sake)
const unsigned long long getMilliseconds(boost::posix_time::ptime
m_dateTime) const
{
const unsigned long long fractionOfSecond =
m_dateTime.time_of_day().fractional_seconds();
switch(m_dateTime.time_of_day().resolution())
{
case boost::date_time::time_resolutions::sec:
return 0;
case boost::date_time::time_resolutions::tenth:
return fractionOfSecond * 100;
case boost::date_time::time_resolutions::hundredth:
return fractionOfSecond * 10;
case boost::date_time::time_resolutions::milli:
return fractionOfSecond;
case boost::date_time::time_resolutions::ten_thousandth:
return fractionOfSecond / 10;
case boost::date_time::time_resolutions::micro:
return fractionOfSecond / 1000;
case boost::date_time::time_resolutions::nano:
return fractionOfSecond / 1000000;
default:
throw std::exception("Unknown fractional second resolution");
}
}