2017-08-17 19 views
0

私のCentOS 6.9環境では、boost-develはBoost 1.4 .0ライブラリを指します。ブースト1.41.0:ブースト::ロケールの代替?

問題は、ブースト:ロケールブーストとして、特定のタイムゾーンに対する私の日付の計算には使用できません:ロケールはブースト1.4 0.0に付属しているようです。

1.41(またはBoostの代替)のようなことをする代替手段はありますか?

// adding a day to now with timezone in mind 
std::locale::global(...a specific locale...); 
date_time now; 
now = now + period:day(); 
+0

非常に完全なもう1つのタイムゾーンライブラリがあります:https://howardhinnant.github.io/date/tz.htmlしかし、古い環境で動作するかどうかわかりません。これにはC++ 11の ''が必要です。ここに、夏時間の変更を使って任意のタイムゾーンでローカルタイムに1日追加するコードの例を示します。https://github.com/HowardHinnant/date/wiki/Examples-and-Recipes#local_arithmetic –

答えて

0

あなたはSTDを使用することができるかもしれ:: CentOSに6.上のC++ 98で利用可能なロケール

STDにロケール形式の時間を解析する例を参照してください::ここで時間:http://www.cplusplus.com/reference/locale/time_get/get_date/

std :: timeで時間を過ごすと、時間/分/秒などを個別に追加できるはずです。あるいは、エポックから時間に変換してそのように計算することができます。