CLX C++ Libraries - time_duration
Author: clown

CLX C++ Libraries
Home >> date_time >> time_duration

# Declarations

    typedef unit<60,     1> minutes;  // 60 sec
    typedef unit<3600,   1> hours;    // 60 * 60 sec
    typedef unit<86400,  1> days;     // 60 * 60 * 24 sec
    typedef unit<604800, 1> weeks;    // 60 * 60 * 24 * 7 sec

    class date_duration {
    public:
        typedef int value_type;

        explicit date_duration(value_type y = 0, value_type m = 0, value_type d = 0);

        date_duration& operator+=(const date_duration& t);
        date_duration& operator-=(const date_duration& t);

        friend date_duration operator+(date_duration x, const date_duration& y)
        friend date_duration operator-(date_duration x, const date_duration& y)
        friend date_duration operator+(const date_duration& y, date_duration x)
        friend date_duration operator-(const date_duration& y, date_duration x)

        value_type years() const;
        value_type months() const;
        value_type days() const;
    };

    date_duration years(int t);
    date_duration months(int t);

# Overview

秒単位以外の時間を秒単位に変換するためのクラス/関数群です．例えば，clx::hours(24) は 86400 秒を返します．unit クラスの詳細については，unit を参照して下さい．

years()，months() に関しては，year, month, day 毎に増減させる値を記憶させ date_time に渡します．date_time は，指定された値の増減を行った後，std::mktime() を用いて時刻の再設定を行います．

# Related Page

1. CLX C++ Libraries - unit