10 #ifndef smtk_common_TimeZone_h
11 #define smtk_common_TimeZone_h
13 #include "smtk/CoreExports.h"
14 #include "smtk/SystemConfig.h"
15 #include "smtk/common/CompilerInformation.h"
17 SMTK_THIRDPARTY_PRE_INCLUDE
18 #include <boost/date_time/local_time/local_time.hpp>
19 SMTK_THIRDPARTY_POST_INCLUDE
43 bool setRegion(
const std::string& region);
44 std::string region()
const;
47 bool setPosixString(
const std::string& posixTimeZoneString);
48 std::string posixString()
const;
50 std::string stdZoneName()
const;
51 std::string stdZoneAbbreviation()
const;
52 std::string dstZoneName()
const;
53 std::string dstZoneAbbreviation()
const;
56 bool utcOffset(
int& hours,
int& minutes)
const;
57 bool dstShift(
int& hours,
int& minutes)
const;
60 const boost::local_time::time_zone_ptr boostPointer()
const;
63 boost::local_time::time_zone_ptr m_boostTimeZone;
64 bool m_isUTC{
false };
68 static boost::local_time::tz_database s_database;
69 static bool s_databaseLoaded;
75 #endif // smtk_common_TimeZone_h