26 Aralık 2017 Salı

date_time local_time posix_time_zone Sınıfı

Constructor - localtime
Örnek
Linux'ta çalışır. Şöyle yaparız.
static struct tm* tm_local = ...;
time_zone_ptr tz (new posix_time_zone (tm_local->tm_zone));
Şöyle yaparız.
time_zone_ptr tz (new posix_time_zone(localtime(0)->tm_zone));
Constructor - localtime
Linux'ta çalışır.
Örnek
tzname() çağrısı ile time zone alınır. Şöyle yaparız.
#include <ctime>
tzset();
time_zone_ptr tz (new posix_time_zone(tzname[localtime(0)->tm_isdst]));
Constructor - string
Örnek
Şöyle yaparız.
#include <boost/date_time/local_time/local_time.hpp>

using namespace boost::local_time;
using namespace boost::posix_time;
using namespace boost::gregorian;

time_zone_ptr tz{new posix_time_zone{"CET+1"}};
ptime pt{date{2014, 5, 12}, time_duration{12, 0, 0}};
local_date_time dt{pt, tz};
std::cout << dt.utc_time() << '\n';
std::cout << dt << '\n';
std::cout << dt.local_time() << '\n';
std::cout << dt.zone_name() << '\n';
Çıktı olarak şunu alırız.
2014-May-12 12:00:00 //UTC
2014-May-12 13:00:00 CET //Local
2014-May-12 13:00:00 //Local
CET //Time zone name
Örnek
Şöyle yaparız.
time_zone_ptr tz( new posix_time_zone("MST-07") ); 
to_posix_string metodu
Şöyle yaparız.
cout << pZone->to_posix_string();

Hiç yorum yok:

Yorum Gönder