Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards


Class template microsec_clock

boost::date_time::microsec_clock — A clock providing microsecond level resolution.


// In header: <boost/date_time/microsec_time_clock.hpp>

template<typename time_type> 
class microsec_clock {
  // types
  typedef time_type::date_type          date_type;             
  typedef time_type::time_duration_type time_duration_type;    
  typedef time_duration_type::rep_type  resolution_traits_type;

  // public static functions
  template<typename time_zone_type> 
    static time_type local_time(shared_ptr< time_zone_type >);
  static time_type local_time();
  static time_type universal_time();

  // private static functions
  static time_type create_time(time_converter);
  static boost::uint64_t 
  file_time_to_microseconds(boost::winapi::FILETIME_ const &);


A high precision clock that measures the local time at a resolution up to microseconds and adjusts to the resolution of the time system. For example, for the a library configuration with nano second resolution, the last 3 places of the fractional seconds will always be 000 since there are 1000 nano-seconds in a micro second.

microsec_clock public static functions

  1. template<typename time_zone_type> 
      static time_type local_time(shared_ptr< time_zone_type > tz_ptr);
    return a local time object for the given zone, based on computer clock
  2. static time_type local_time();
    Returns the local time based on computer clock settings.
  3. static time_type universal_time();
    Returns the UTC time based on computer settings.

microsec_clock private static functions

  1. static time_type create_time(time_converter converter);
  2. static boost::uint64_t 
    file_time_to_microseconds(boost::winapi::FILETIME_ const & ft);

    The function converts file_time into number of microseconds elapsed since 1970-Jan-01

    [Note] Note

    Only dates after 1970-Jan-01 are supported. Dates before will be wrapped.