boost::local_time::posix_time_zone_base — A time zone class constructed from a POSIX time zone string.
Synopsis
// In header: <boost/date_time/local_time/posix_time_zone.hpp>
template<typename CharT>classposix_time_zone_base:publicdate_time::time_zone_base<posix_time::ptime,CharT>{public:// typestypedefboost::posix_time::time_durationtime_duration_type;typedefdate_time::time_zone_names_base<CharT>time_zone_names;typedefdate_time::time_zone_base<posix_time::ptime,CharT>base_type;typedefbase_type::string_typestring_type;typedefCharTchar_type;typedefbase_type::stringstream_typestringstream_type;typedefboost::char_separator<char_type,std::char_traits<char_type>>char_separator_type;typedefboost::tokenizer<char_separator_type,typenamestring_type::const_iterator,string_type>tokenizer_type;typedeftokenizer_type::iteratortokenizer_iterator_type;// construct/copy/destructposix_time_zone_base(conststring_type&);~posix_time_zone_base();// public member functionsvirtualstring_typestd_zone_abbrev()const;virtualstring_typedst_zone_abbrev()const;virtualstring_typestd_zone_name()const;virtualstring_typedst_zone_name()const;virtualboolhas_dst()const;virtualposix_time::ptimedst_local_start_time(gregorian::greg_year)const;virtualposix_time::ptimedst_local_end_time(gregorian::greg_year)const;virtualtime_duration_typebase_utc_offset()const;virtualtime_duration_typedst_offset()const;virtualstring_typeto_posix_string()const;// private member functionsvoidcalc_zone(conststring_type&);voidcalc_rules(conststring_type&,conststring_type&);voidM_func(conststring_type&,conststring_type&);voidjulian_no_leap(conststring_type&,conststring_type&);voidjulian_day(conststring_type&,conststring_type&);// private static functionsstaticstd::stringtd_as_string(consttime_duration_type&);};
Description
Струна часового пояса POSIX принимает форму: "std offset dst [offset],start[/time],end[/time]" (w/no spaces) "std" определяет аббрев часового пояса. "offset" - это смещение от UTC. "dst" определяет аббрев часового пояса в течение времени экономии дневного света. Вторым смещением является то, сколько часов изменилось во время DST. Дефолт = 1 «начало» и «конец» - это даты, когда DST входит в (и выходит) эффект. «зачет» принимает форму: [+ |-]hh[:mm[:ss]] {h=0-23, m/s=0-59} «время» и «зачет» принимают ту же форму. Время дефолта = 02:00:00 «начало» и «конец» может быть одной из трех форм: Mm.w.d {месяц = 1-12, неделя = 1-5 (5 всегда последний), день = 0-6} Jn {n=1-365 Feb29 никогда не считается} n {n=0-365 Feb29 считается в високосные годы} Пример "PST-5PDT01:00:00,M4.1.0/02:00:00,M10.1.0/02:00:00" Исключения будут сделаны в таких условиях: Недействительный спецификатор даты (см. класс даты) A boost::local_time::bad_offset исключение будет брошено для: A DST старт или конец смещения, который является отрицательным или более 24 часов Зона UTC, превышающая +14 или менее -12 часов boost::local_time::bad_adjustment исключение будет выброшено для: DST-регулировки, которая составляет 24 часа или более (положительная или отрицательная)
posix_time_zone_base
public
construct/copy/destruct
posix_time_zone_base(conststring_type& s);
Строить из строки часового пояса POSIX.
~posix_time_zone_base;
posix_time_zone_base public member functions
virtualstring_typestd_zone_abbrev()const;
String for the zone when not in daylight savings (например: EST)
virtualstring_typedst_zone_abbrev()const;
String для часового пояса, когда в дневном свете экономия (например: EDT)
Для тех часовых поясов, которые не имеют DST, используется пустая строка
virtualstring_typestd_zone_name()const;
String для зоны, когда она не находится в дневном свете (например: Восточное стандартное время)
Полное имя STD не извлекается из строки часового пояса. Поэтому в его месте используется аббревиатура STD
virtualstring_typedst_zone_name()const;
String для часового пояса, когда в дневное время экономия (например: Восточное светлое время)
Полное имя DST не извлекается из строки часового пояса. Поэтому на его месте используется аббревиатура STD. Для часовых поясов, не имеющих DST, используется пустая строка
virtualboolhas_dst()const;
Правда, если зона использует корректировки экономии дневного света, иначе ложные.
Местное время окончания DST – НАДТ, если имеет_dst, ложно.
virtualtime_duration_typebase_utc_offset()const;
Base offset from UTC for zone (например: -07:30:00)
virtualtime_duration_typedst_offset()const;
Корректировка вперед или назад, сделанная при действии DST.
virtualstring_typeto_posix_string()const;
Возвращает строку POSIX time_zone для этого объекта.
posix_time_zone_base private member functions
voidcalc_zone(conststring_type& obj);
Извлеките аббревиатуры часового пояса для STD & DST, а также смещения для временного сдвига, который происходит и сколько сдвига. В это время названия часовых поясов не извлекаются, поэтому вместо них используются аббревиатуры
Статья Class template posix_time_zone_base раздела The Boost C++ Libraries BoostBook Documentation Subset Library Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.