Index: boost/date_time/time_facet.hpp =================================================================== --- boost/date_time/time_facet.hpp (revision 78316) +++ boost/date_time/time_facet.hpp (working copy) @@ -801,6 +801,7 @@ char_type c = '\0'; if((sitr != stream_end) && (*sitr == '-' || *sitr == '+')) { c = *sitr; + ++sitr; } typedef typename time_duration_type::hour_type hour_type; @@ -921,6 +922,8 @@ } td = time_duration_type(hour, min, sec, frac); + if (c == '-') + td = td.invert_sign(); return sitr; } @@ -1364,4 +1367,3 @@ #endif -