Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template static_local_time_adjustor

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Library Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template static_local_time_adjustor

boost::date_time::static_local_time_adjustor — Embed the rules for local time adjustments at compile time.

Synopsis

// In header: <boost/date_time/local_time_adjustor.hpp>
template<typename time_type, typename dst_rules, typename utc_offset_rules> 
class static_local_time_adjustor : public dst_rules, public utc_offset_rules {
public:
  // types
  typedef time_type::time_duration_type time_duration_type;
  typedef time_type::date_type          date_type;         
  // public static functions
  static time_duration_type utc_to_local_offset(const time_type &);
  static time_duration_type 
  local_to_utc_offset(const time_type &, 
                      date_time::dst_flags = date_time::calculate);
};

Description

static_local_time_adjustor public static functions

  1. <
    statictime_duration_typeutc_to_local_offset(consttime_type&t);
    >Вычисляет смещение от utc-времени до локального на основе dst и utc-смещение.

    Логика заключается в следующем. Начиная со времени UTC, используйте смещение для создания метки для локального времени, не скорректированного на dst. Затем вызовите dst_rules::local_is_dst с некорректированным местным временем. Результаты этой функции либо неукоснительно решат, что начальное местное время находится в dst, либо вернут незаконный или неоднозначный результат. Незаконный результат происходит только в конце dst (где пропущены ярлыки) и указывает, что dst закончился. Неоднозначный результат означает, что нам нужно перепроверить, внося корректировку dst, а затем перепроверяя. Если dst-смещение добавляется к времени utc, и перепроверка оказывается недвусмысленной, то мы проходим границу. Если это все еще неоднозначно, то мы опережаем границу, и dst все еще действует.

    TODO & #8211; проверьте, все ли смещение dst положительно. Если нет, то алгоритм должен проверить это и обратить вспять незаконную/двусмысленную логику.

  2. <
    statictime_duration_type
    local_to_utc_offset(consttime_type&t,
                       date_time::dst_flagsdst=date_time::calculate);
    >Получите смещение в UTC по местному времени.
  3. Параметры:

    <t>

    Время UTC для расчета смещения к местному времени Эта корректировка зависит от следующих наблюдений за работой смещения границы DST. С тех пор Метки времени UTC монотонно увеличиваются, и мы можем определить, находится ли данное локальное время в DST или нет, и, следовательно, соответствующим образом скорректировать смещение.


    PrevUpHomeNext

    Статья Class template static_local_time_adjustor раздела The Boost C++ Libraries BoostBook Documentation Subset Library Reference может быть полезна для разработчиков на c++ и boost.




    Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



    :: Главная :: Library Reference ::


    реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:56:41/0.0065460205078125/0