文字列として日付/時刻オブジェクトを書式設定するBoostを取得する方法を試してみるのに問題があります。私は書式指定子を設定しようとしていますが、無視され、あらかじめ定義されたスタイルで日付を出力し続けます。Boost date_time出力形式が無視されています
それはとてもここで、デモで説明するのはおそらく簡単だが、問題を示すいくつかのサンプルコードです:
#include <boost/date_time.hpp>
#include <iostream>
int main(void)
{
int i = 1485324852;
boost::posix_time::ptime pt = boost::posix_time::from_time_t(i);
boost::local_time::local_time_facet* output_facet = new boost::local_time::local_time_facet();
output_facet->format("%d/%m/%Y %H:%M");
std::stringstream ss;
ss.imbue(std::locale(std::locale::classic(), output_facet));
ss << pt;
std::string strTime = ss.str();
std::cout << "Time " << i << " converted to UI string: " << strTime << "\n";
return 0;
}
それは私に、この出力を与える:
Time 1485324852 converted to UI string: 2017-Jan-25 06:14:12
私は何を期待することは次のとおりです。
Time 1485324852 converted to UI string: 25/01/2017 16:14
私はoutput_facet
に%d/%m/%Y %H:%M
形式指定子はexample given in the Boost docsであるが、これは無視されている。
フォーマットを設定する際にどこが間違っているのかわかりません。それは誰かが私にそれを指摘することができるので、おそらく何か明らかですか?
参照http://stackoverflow.com/questions/1904317/how-to-format-date-tim e-object-with-format-dd-mm-yyyy – Asalle