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