この形式で日付を読み書きしようとしています: yyyy-mm-ddThh:mm:ssZ
私はこれをやっています:
boost::posix_time::ptime t = boost::posix_time::time_from_string( "2012-02-20T00:26:39Z" );
std::cout << boost::posix_time::to_iso_extended_string( t ) << std::endl;
最後の Z を削除すると機能しますが、そのままにしておくと例外がスローされます (悪い字句キャスト: ソース型の値をターゲットとして解釈できませんでした)。
Z を手動で削除/追加せずに、これらの日付を処理するより良い方法はありますか? あちこちで読んだことから、Z は GMT を意味し、存在しない場合は時刻がローカル タイム ゾーンであることを意味することを理解しています。一般的でバグのないバージョンを読んでもらいたいです。