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

Class template date

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 date

boost::date_time::date — Representation of timepoint at the one day level resolution.

Synopsis

// In header: <boost/date_time/date.hpp>
template<typename T, typename calendar, typename duration_type_> 
class date :
  private boost::less_than_comparable< T, boost::equality_comparable< T > >
{
public:
  // types
  typedef T                          date_type;       
  typedef calendar                   calendar_type;   
  typedef calendar::date_traits_type traits_type;     
  typedef duration_type_             duration_type;   
  typedef calendar::year_type        year_type;       
  typedef calendar::month_type       month_type;      
  typedef calendar::day_type         day_type;        
  typedef calendar::ymd_type         ymd_type;        
  typedef calendar::date_rep_type    date_rep_type;   
  typedef calendar::date_int_type    date_int_type;   
  typedef calendar::day_of_week_type day_of_week_type;
  // construct/copy/destruct
  date(year_type, month_type, day_type);
  date(const ymd_type &);
  explicit date(date_int_type);
  explicit date(date_rep_type);
  // public member functions
  year_type year() const;
  month_type month() const;
  day_type day() const;
  day_of_week_type day_of_week() const;
  ymd_type year_month_day() const;
  bool operator<(const date_type &) const;
  bool operator==(const date_type &) const;
  bool is_special() const;
  bool is_not_a_date() const;
  bool is_infinity() const;
  bool is_pos_infinity() const;
  bool is_neg_infinity() const;
  special_values as_special() const;
  duration_type operator-(const date_type &) const;
  date_type operator-(const duration_type &) const;
  date_type operator-=(const duration_type &);
  date_rep_type day_count() const;
  date_type operator+(const duration_type &) const;
  date_type operator+=(const duration_type &);
};

Description

Шаблон даты представляет собой оболочку интерфейса для класса даты, которая основана на системе год-месяц-день, такой как григорианские или изо-системы. Он обеспечивает базовые операции для расчета и сравнения.

Теория

Это представление даты в корне отличается от подхода C tm struct. Цель этого типа состоит в том, чтобы обеспечить эффективные операции с датой (добавление, вычитание) и хранение (минимизация пространства для представления) в конкретном классе. Таким образом, дата использует внутреннее число для представления конкретной даты. Календарный параметр определяет политику преобразования годовой месячной и внутренней расчетной формы. Приложения, которые должны выполнять тяжелое форматирование одной и той же даты несколько раз, будут работать лучше, используя представление в течение года.

Внутренняя дата использует номер дня для представления даты. Это монотонное представление времени. Это представление позволяет быстро сравнивать, а также упрощает создание записи числовых операций. По сути, внутреннее число дня похоже на скорректированный юлианский день. Корректировка определяется датой Эпохи, которая представлена как день 1 календаря. День 0 зарезервирован для отрицательной бесконечности, так что любая фактическая дата автоматически больше отрицательной бесконечности. Когда дата построена из даты или отформатирована для вывода, применяются соответствующие преобразования для создания представлений года, месяца, дня.

date public construct/copy/destruct

  1. <
    date(year_typey,month_typem,day_typed);
    >
  2. <
    date(constymd_type&ymd);
    >
  3. <
    explicitdate(date_int_typedays);
    >

    Это частный конструктор, который позволяет создавать новые даты. Он не подвергается воздействию пользователей, поскольку это потребует от пользователей класса понимания внутренней работы класса даты.

  4. <
    explicitdate(date_rep_typedays);
    >

date public member functions

  1. <
    year_typeyear()const;
    >
  2. <
    month_typemonth()const;
    >
  3. <
    day_typeday()const;
    >
  4. <
    day_of_week_typeday_of_week()const;
    >
  5. <
    ymd_typeyear_month_day()const;
    >
  6. <
    booloperator<(constdate_type&rhs)const;
    >
  7. <
    booloperator==(constdate_type&rhs)const;
    >
  8. <
    boolis_special()const;
    >проверить, является ли дата особым значением
  9. <
    boolis_not_a_date()const;
    >проверить, не является ли дата значением
  10. <
    boolis_infinity()const;
    >Проверьте, является ли дата одним из значений бесконечности.
  11. <
    boolis_pos_infinity()const;
    >Проверить, является ли дата больше всех возможных дат
  12. <
    boolis_neg_infinity()const;
    >Проверьте, не превышает ли дата все возможные даты.
  13. <
    special_valuesas_special()const;
    >возврат в качестве специального значения или неспециального, если нормальная дата
  14. <
    duration_typeoperator-(constdate_type&d)const;
    >
  15. <
    date_typeoperator-(constduration_type&dd)const;
    >
  16. <
    date_typeoperator-=(constduration_type&dd);
    >
  17. <
    date_rep_typeday_count()const;
    >
  18. <
    date_typeoperator+(constduration_type&dd)const;
    >
  19. <
    date_typeoperator+=(constduration_type&dd);
    >

PrevUpHomeNext

Статья Class template date раздела 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-20 02:00:11/0.0063159465789795/1