Nếu các phương thức from_string() hiện tại không phù hợp với nhu cầu của bạn thì bạn có thể sử dụng một khía cạnh đầu vào thời gian cho phép bạn tùy chỉnh định dạng mà chuỗi được phân tích cú pháp.
Trong trường hợp của bạn, bạn có thể sử dụng chuỗi định dạng mở rộng ISO, do đó bạn có thể sử dụng đoạn mã sau để phân tích chuỗi của bạn:
boost::posix_time::time_input_facet *tif = new boost::posix_time::time_input_facet;
tif->set_iso_extended_format();
std::istringstream iss("2012-03-28T08:00:00");
iss.imbue(std::locale(std::locale::classic(), tif));
iss >> abs_time;
std::cout << abs_time << std::endl;
là chuỗi của bạn luôn ở trong định dạng ISO mà bạn đã hỏi về trong câu hỏi của bạn hoặc làm bạn cần nó để chấp nhận bất kỳ định dạng của chuỗi? – tinman