2017-08-17 2 views
0

Dans mon environnement CentOS 6.9, boost-devel fait référence à Boost 1.4 .0 bibliothèque.Boost 1.41.0: boost :: locale alternative?

Le problème est que boost: locale n'est pas disponible pour mes dates calculs par rapport à un fuseau horaire particulier, boost: locale semble venir avec Boost 1.4 .0.

Existe-t-il une alternative pour faire des choses comme ça avec 1,41 (ou une alternative de Boost)?

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

Voici une autre bibliothèque de fuseau horaire qui est assez complète: https://howardhinnant.github.io/date/tz.html Cependant, je ne sais pas si cela fonctionnerait pour votre environnement plus ancien. Il nécessite '' de C++ 11 '. Voici un exemple de code montrant l'ajout de 1 jour à une heure locale dans un fuseau horaire arbitraire à travers un changement d'heure d'été: https://github.com/HowardHinnant/date/wiki/Examples-and-Recipes#local_arithmetic –

Répondre

0

Vous pourrez peut-être utiliser std :: locale disponible en C++ 98 sur CentOS 6.

Voir un exemple de l'analyse d'un temps de format locale en std :: temps ici: http://www.cplusplus.com/reference/locale/time_get/get_date/

Une fois que vous avez votre temps dans std :: time, vous devriez être capable d'ajouter des heures/minutes/secondes etc individuellement, ou vous pouvez convertir en temps depuis epoch et faire des calculs de cette façon.