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

Struct template us_dst_trait

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

Struct template us_dst_trait

boost::date_time::us_dst_trait — Specification for daylight savings start rules in US.

Synopsis

// In header: <boost/date_time/local_timezone_defs.hpp>
template<typename date_type> 
struct us_dst_trait {
  // types
  typedef date_type::day_of_week_type                 day_of_week_type;          
  typedef date_type::month_type                       month_type;                
  typedef date_type::year_type                        year_type;                 
  typedef date_time::nth_kday_of_month< date_type >   start_rule_functor;        
  typedef date_time::first_kday_of_month< date_type > end_rule_functor;          
  typedef date_time::first_kday_of_month< date_type > start_rule_functor_pre2007;
  typedef date_time::last_kday_of_month< date_type >  end_rule_functor_pre2007;  
  // public static functions
  static day_of_week_type start_day(year_type);
  static month_type start_month(year_type);
  static day_of_week_type end_day(year_type);
  static month_type end_month(year_type);
  static date_type local_dst_start_day(year_type);
  static date_type local_dst_end_day(year_type);
  static int dst_start_offset_minutes();
  static int dst_end_offset_minutes();
  static int dst_shift_length_minutes();
};

Description

Этот класс используется для настройкиdst_calc_engineшаблон обычно выглядит следующим образом:

using namespace boost::gregorian;
using namespace boost::posix_time;
typedef us_dst_trait<date> us_dst_traits;
typedef boost::date_time::dst_calc_engine<date, time_duration, 
                                          us_dst_traits>  
                                          us_dst_calc;
//calculate the 2002 transition day of USA April 7 2002
date dst_start = us_dst_calc::local_dst_start_day(2002); 
//calculate the 2002 transition day of USA Oct 27 2002
date dst_end = us_dst_calc::local_dst_end_day(2002); 
                                          
//check if a local time is in dst or not -- posible answers
//are yes, no, invalid time label, ambiguous
ptime t(...some time...);  
if (us_dst::local_is_dst(t.date(), t.time_of_day()) 
    == boost::date_time::is_not_in_dst) 
{
}

Это создает тип, подходящий для расчета переходов dst для Соединенных Штатов. Конечно, другие шаблоны могут быть использованы для других мест.

us_dst_trait public static functions

  1. <
    staticday_of_week_typestart_day(year_type);
    >
  2. <
    staticmonth_typestart_month(year_typey);
    >
  3. <
    staticday_of_week_typeend_day(year_type);
    >
  4. <
    staticmonth_typeend_month(year_typey);
    >
  5. <
    staticdate_typelocal_dst_start_day(year_typeyear);
    >
  6. <
    staticdate_typelocal_dst_end_day(year_typeyear);
    >
  7. <
    staticintdst_start_offset_minutes();
    >
  8. <
    staticintdst_end_offset_minutes();
    >
  9. <
    staticintdst_shift_length_minutes();
    >

PrevUpHomeNext

Статья Struct template us_dst_trait раздела 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 20:16:54/0.0064871311187744/0