Spezifische Zeit-Zone Im boost::posix_time::ptime
Habe ich folgende Zeit :
2010-01-25 03:13:34.384 - GMT Time Zone
2010-01-25 11:13:34.384 - My Local
Möchte ich umwandeln in timestamp in ms. Da ich jedoch nur erhalten, Ortszeit string vom Anrufer
"2010-01-25 11:13:34.384"
Wenn ich es so machen :
//ts is "2010-01-25 11:13:34.384" (My Local)
boost::posix_time::ptime t(boost::posix_time::time_from_string(ts));
boost::posix_time::ptime end(boost::gregorian::date(1970,1,1));
boost::posix_time::time_duration dur = t - end;
//epoch is 1264418014384
//2010-01-25 11:13:34.384 (GMT) -- But I want 2010-01-25 03:13:34.384
//2010-01-25 19:13:34.384 (My Local) -- But I want 2010-01-25 11:13:34.384
long long epoch = dur.total_milliseconds();
Gibt es eine Möglichkeit zu sagen, boost::posix_time, dass die ts-Zeichenfolge, die es erhält, gehören zu Meinem Lokalen Zeitzone?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe diese in meinem lokalen Baum (namespace-Präfix kann weggelassen werden):
Ich denke, Sie sollten mit
boost::local_date_time
, die Zeitzonen. Es gibt ein Beispiel in der Dokumentation, die ist sehr ähnlich zu dem, was Sie zu tun versuchen: http://www.boost.org/doc/libs/1_41_0/doc/html/date_time/examples.html#date_time.examples.seconds_since_epoch