Hi all,

I have the following little program (I'm using mingw 3.4.2 (32bit) ):

#include <boost/date_time/posix_time/posix_time.hpp>
#include <iostream>

int main()
{
using namespace boost;
using namespace boost::posix_time;

//Time now (since epoch in seconds)...
static const ptime secSinceEpoch( second_clock::local_time() );

//Time now (since epoch in micros)...
static const ptime microsecSinceEpoch( microsec_clock::local_time() );

//Elapsed should be close to zero...
time_duration elapsed = microsecSinceEpoch - secSinceEpoch;

std::cout << "elapsed: " << elapsed.total_milliseconds() << std::endl;
return 0;
}

It outputs: "elapsed: -1240428644900", whereas I expected it to
output a positive value.

It therefore seems that microsec_clock::local_time() wraps. Is 64-bits
a pre-requisite for this library to work correctly or is there some remedy?

Kind regards,

Werner