|
Boost Users : |
From: Sean Huang (huangsean_at_[hidden])
Date: 2006-10-01 23:20:04
----- Original Message -----
From: "Jeff Garland" <jeff_at_[hidden]>
To: <boost-users_at_[hidden]>
Sent: Sunday, October 01, 2006 10:31 PM
Subject: Re: [Boost-users] [date_time]time zone input
> Ok, easy as pie. We'll set the time_duration_format format, stream it in
> and
> convert to utc:
>
> try {
> //setup your input facet
> time_input_facet *facet = new time_input_facet();
> facet->set_iso_format();
> facet->time_duration_format("%H%M"); // just get a tz parts
> some_stream_instance.imbue(std::locale(std::locale::classic(),
> facet));
>
> //stream the parts in
> ptime t;
> time_duration td(0,0,0);
>
> //get the time part
> t >> some_stream_instance;
> //now get the utc offset
> td >> some_stream_instance;
> t += td; //convert time to UTC
> }
> catch(std::exception& e)
>
> I didn't compile or run this...you'll what some error handling...but I'm
> 99%
> sure it will do what you want :-)
>
I actually thought about this but encountered a problem with the sign part
(for example, +05:00). According to the documentation, "%+" and "%-" only
work for output. I just tried again and got an exception (with 1.33). Maybe
I am missing something here...
In any rate, it is easy to parse the offset part ourselves.
Again, thank you very much for your help!
Sean
By the way, shouldn't it be t-=td?
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net