ok, I found the answer
code (for VS)
it converts the string to local_date_time, but for me this is acceptable:
#pragma warning(push) #pragma warning(disable:4244) #pragma warning(disable:4245) #include <boost/date_time/local_time/local_time.hpp> #pragma warning(pop) #include <iostream> #include <string> int main() { using namespace std; using namespace boost::local_time; istringstream ss("2011-10-20T09:30:10-05:00"); ss.exceptions(ios_base::failbit); local_time_input_facet* facet = new local_time_input_facet("%Y-%m-%dT%H:%M:%S%ZP"); ss.imbue(locale(ss.getloc(), facet)); local_date_time ldt(not_a_date_time); ss >> ldt; // do the parse std::cout << ldt.to_string() << "\noffset is: " << to_simple_string(ldt.zone()->base_utc_offset()) << std::endl; }
maybe someone will need it
source share