From: Mark Van Dijk (Mark.VanDijk_at_[hidden])
Date: 2007-12-11 19:14:53
My apologies for not specifing this earlier - i just assumed that many
people had previously run into it. Michael Mathews is correct about the
operator<<() and strftime.c being the cause of this issue.
operator<<(ostream&, time_duration const&) basically converts the
time_duration object to a tm struct using the function
boost::posix_time::to_tm(time_duration const&). At this point, the tm
structure contains an hours value of 24 - which Microsoft considers to
be out-of-range. Further down the stack the _Strftime_l() function
verifies the tm structure and everything comes to a crashing halt at
The MSDN docs for _Strftime_l() states that this function will check the
tm struct for invalid and out-of-range values and will call the invalid
parameter handler in this case.
Hope that helps :-)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk