Se i metodi esistenti from_string() non soddisfano le proprie esigenze, è possibile utilizzare un aspetto di input di tempo che consente di personalizzare il formato da cui viene analizzata la stringa.
Nel tuo caso è possibile utilizzare la stringa di formato esteso ISO in modo da poter utilizzare il seguente codice per analizzare le stringhe:
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;
È la stringa sempre in formato ISO che avete chiesto di nella tua domanda o non avete bisogno di accettare qualsiasi formato di corda? – tinman