| Home | Libraries | People | FAQ | More

## Class template microsec_clock

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

## Synopsis

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

    template<typename time_type>
    class microsec_clock {
    public:
      // 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 &);
    };

## Description

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
   Only dates after 1970-Jan-01 are supported. Dates before will be wrapped.