С микросекундным разрешением time_duration:
boost::posix_time::microseconds( _ts / TICKS_PER_MICROSECOND )
, где TICKS_PER_MICROSECOND - это количество тактов в микросекунду (например, 10, если тики являются гектонансекундами, как в Windows FILETIME).
Причина, почемуконструктор миллисекунд, кажется, работает для некоторых людей, так как он принимает тип параметра long, который в некоторых компиляторах равен 64 битам.В MSVC это 32 бита на 32-битных платформах, поэтому он не будет работать.Конструктор микросекунд принимает 64-битное целое число, которого должно быть «достаточно для всех».