前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1
SFXDateDuration
日時の差を表すクラスです。
#include <SFXDateDuration.h.hpp>
class SFXDateDuration;
SFMTYPEDEFCLASS(SFXDateDuration)

解説

SFXDateDuration クラスは、SFXDate クラスの各種演算に使います。 内部で秒単位の値を保持します。

例 471. 日付の計算 ( 引き算 )

SFXDate date1(2008, 10, 12, 22, 45, 58);
SFXDate date2(2008, 10, 12, 22, 55, 48);

// 差の計算
SFXDateDuration duration = date2 - date1;

SInt32 n1 = duration.AsSInt32(); // n1 = 590

duration.Set(date1 - date2);

SInt32 n2 = duration.AsSInt32(); // n2 = -590

参照

SFXDate

メンバ

コンストラクタ/デストラクタ
SFXDateDuration( Void )
SFXDateDuration( SFXDateDurationConstRef param )
SFXDateDuration( SInt32 day , SInt32 hour , SInt32 minute , SInt64 second )
SFXDateDuration( SInt32 hour , SInt32 minute , SInt64 second )
SFXDateDuration( SInt32 minute , SInt64 second )
SFXDateDuration( SInt64 second )
SFXDateDuration クラスのコンストラクタです。
パブリック関数
Void Add( SFXDateDurationConstRef param )
日時の差に指定した値を加算します。
SInt64 AsSInt64( Void )
保持している日時の差を秒単位に変換します。
SInt32 Compare( SFXDateDurationConstRef param )
日時の差を比較します。
Void Div( SInt32 param )
日時の差を指定した値で除算します。
Bool Equals( SFXDateDurationConstRef param )
日時の差を比較します。
static
SFXDateDuration
LocalTimeOffset( Void )
UTCからの現地時間帯のオフセットを取得します。
Void Mod( SInt32 param )
日時の差を指定した値で剰余します。
Void Mul( SInt32 param )
日時の差に指定した値を乗算します。
Void Neg( Void )
日時の差の符号を反転します。
static
SFXDateDuration
Offset19000101( Void )
1900 年 1 月 1 日からのオフセットを取得します。
static
SFXDateDuration
Offset19700101( Void )
1970 年 1 月 1 日からのオフセットを取得します。
Void Set( SFXDateDurationConstRef param )
Set( SInt64 second )
Set( SInt32 minute , SInt64 second )
Set( SInt32 hour , SInt32 minute , SInt64 second )
Set( SInt32 day , SInt32 hour , SInt32 minute , SInt64 second )
日時の差を設定します。
Void Sub( SFXDateDurationConstRef param )
日時の差から指定した値を減算します。
static
SFXDateDurationConstRef
ZeroInstance( Void )
0 を表すインスタンスを取得します。
SFXDateDurationRef operator%=( SInt32 param )
日時の差の剰余を求めます。
SFXDateDurationRef operator*=( SInt32 param )
日時の差を乗算します。
SFXDateDurationRef operator+=( SFXDateDurationConstRef param )
日時の差を加算します。
SFXDateDurationRef operator-=( SFXDateDurationConstRef param )
指定した値を減算します。
SFXDateDurationRef operator/=( SInt32 param )
日時の差を指定した値で除算します。
SFXDateDurationRef operator=( SFXDateDurationConstRef param )
日時の差を代入します。
SFXDateDuration operator%( SFXDateDurationConstRef left , SInt32 right )
日時の差の剰余を求めます。
SFXDateDuration operator/( SFXDateDurationConstRef left , SInt32 right )
日時の差を指定した値で除算します。
Bool operator==( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
== の関係を判定します。
Bool operator>=( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
>= の関係を判定します。
Bool operator>( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
> の関係を判定します。
Bool operator<=( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
<= の関係を判定します。
Bool operator<( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
< の関係を判定します。
SFXDateDuration operator-( Void )
operator-( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
指定した値を減算します。
SFXDateDuration operator*( SFXDateDurationConstRef left , SInt32 right )
日時の差を乗算します。
Bool operator!=( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
!= の関係を判定します。
SFXDateDuration operator+( Void )
operator+( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
日時の差に指定した値を加算します。
グローバル関数
SFXDateDuration operator%( SFXDateDurationConstRef left , SInt32 right )
日時の差の剰余を求めます。
SFXDateDuration operator/( SFXDateDurationConstRef left , SInt32 right )
日時の差を指定した値で除算します。
Bool operator==( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
== の関係を判定します。
Bool operator>=( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
>= の関係を判定します。
Bool operator>( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
> の関係を判定します。
Bool operator<=( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
<= の関係を判定します。
Bool operator<( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
< の関係を判定します。
SFXDateDuration operator-( Void )
operator-( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
指定した値を減算します。
SFXDateDuration operator*( SFXDateDurationConstRef left , SInt32 right )
日時の差を乗算します。
Bool operator!=( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
!= の関係を判定します。
SFXDateDuration operator+( Void )
operator+( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
日時の差に指定した値を加算します。

SFXDateDuration::SFXDateDuration
SFXDateDuration クラスのコンストラクタです。
[ public, explicit ]
SFXDateDuration(Void);
[ public ]
SFXDateDuration(
    SFXDateDurationConstRef param   // 元になる日時の差
);
[ public, explicit ]
SFXDateDuration(
    SInt32 day      // 日時の差 (日)
    SInt32 hour     // 日時の差 (時間)
    SInt32 minute   // 日時の差 (分)
    SInt64 second   // 日時の差 (秒)
);
[ public, explicit ]
SFXDateDuration(
    SInt32 hour     // 日時の差 (時間)
    SInt32 minute   // 日時の差 (分)
    SInt64 second   // 日時の差 (秒)
);
[ public, explicit ]
SFXDateDuration(
    SInt32 minute   // 日時の差 (分)
    SInt64 second   // 日時の差 (秒)
);
[ public, explicit ]
SFXDateDuration(
    SInt64 second   // 日時の差 (秒)
);

参照

SFXDateDuration::Set


SFXDateDuration::Add
日時の差に指定した値を加算します。
[ public ]
Void Add(
    SFXDateDurationConstRef param   // 加算する値
);

参照

SFXDateDuration::Div | SFXDateDuration::Mod | SFXDateDuration::Mul | SFXDateDuration::Neg | SFXDateDuration::Sub


SFXDateDuration::AsSInt64
保持している日時の差を秒単位に変換します。
[ public, const ]
SInt64 AsSInt64(Void);

SFXDateDuration::Compare
日時の差を比較します。
[ public, const ]
SInt32 Compare(
    SFXDateDurationConstRef param   // 比較対象の日時の差
);

戻り値

  • 大きいとき: 正の値
  • 等しいとき : 0
  • 小さいとき : 負の値

SFXDateDuration::Div
日時の差を指定した値で除算します。
[ public ]
Void Div(
    SInt32 param   // 除算する値
);

解説

param の値が 0 の場合の動作は未定義です。

参照

SFXDateDuration::Add | SFXDateDuration::Mod | SFXDateDuration::Mul | SFXDateDuration::Neg | SFXDateDuration::Sub


SFXDateDuration::Equals
日時の差を比較します。
[ public, const ]
Bool Equals(
    SFXDateDurationConstRef param   // 比較対象の日時の差
);

戻り値

  • 等しいとき: true
  • 異なるとき : false

SFXDateDuration::LocalTimeOffset
UTCからの現地時間帯のオフセットを取得します。
[ public, static ]
SFXDateDuration LocalTimeOffset(Void);

参照

SFXHelper::localtimeoffset


SFXDateDuration::Mod
日時の差を指定した値で剰余します。
[ public ]
Void Mod(
    SInt32 param   // 日時の差を除算する値
);

解説

param の値が 0 の場合の動作は未定義です。

参照

SFXDateDuration::Add | SFXDateDuration::Div | SFXDateDuration::Mul | SFXDateDuration::Neg | SFXDateDuration::Sub


SFXDateDuration::Mul
日時の差に指定した値を乗算します。
[ public ]
Void Mul(
    SInt32 param   // 日時の差に乗算する値
);

参照

SFXDateDuration::Add | SFXDateDuration::Div | SFXDateDuration::Mod | SFXDateDuration::Neg | SFXDateDuration::Sub


SFXDateDuration::Neg
日時の差の符号を反転します。
[ public ]
Void Neg(Void);

参照

SFXDateDuration::Add | SFXDateDuration::Div | SFXDateDuration::Mod | SFXDateDuration::Mul | SFXDateDuration::Sub


SFXDateDuration::Offset19000101
1900 年 1 月 1 日からのオフセットを取得します。
[ public, static ]
SFXDateDuration Offset19000101(Void);

解説

1900 年 1 月 1 日 0 時 0 分 0 秒からのオフセットを返します。

使用例

2008 年 7 月 21 日 12 時 14 分 35 秒 の 1900 年 1 月 1 日 0 時 0 分 0 秒からの経過時間を計算します。

SFXDate date(2008, 7, 21, 12, 14, 35);
SFXDateDuration duration(date.AsUInt32());
UInt64 second;

duration += SFXDateDuration::Offset19000101();
second = duration.AsSInt64();

参照

SFXDateDuration::Offset19700101


SFXDateDuration::Offset19700101
1970 年 1 月 1 日からのオフセットを取得します。
[ public, static ]
SFXDateDuration Offset19700101(Void);

解説

1970 年 1 月 1 日 0 時 0 分 0 秒からのオフセットを返します。

使用例

2008 年 7 月 21 日 12 時 14 分 35 秒 の 1970 年 1 月 1 日 0 時 0 分 0 秒からの経過時間を計算します。

SFXDate date(2008, 7, 21, 12, 14, 35);
SFXDateDuration duration(date.AsUInt32());
UInt64 second;

duration += SFXDateDuration::Offset19700101();
second = duration.AsSInt64();

参照

SFXDateDuration::Offset19000101


SFXDateDuration::Set
日時の差を設定します。
[ public ]
Void Set(
    SFXDateDurationConstRef param   // 設定する値
);
[ public ]
Void Set(
    SInt32 day      // 設定する値 (日)
    SInt32 hour     // 設定する値 (時間)
    SInt32 minute   // 設定する値 (分)
    SInt64 second   // 設定する値 (秒)
);
[ public ]
Void Set(
    SInt32 hour     // 設定する値 (時間)
    SInt32 minute   // 設定する値 (分)
    SInt64 second   // 設定する値 (秒)
);
[ public ]
Void Set(
    SInt32 minute   // 設定する値 (分)
    SInt64 second   // 設定する値 (秒)
);
[ public ]
Void Set(
    SInt64 second   // 設定する値 (秒)
);

SFXDateDuration::Sub
日時の差から指定した値を減算します。
[ public ]
Void Sub(
    SFXDateDurationConstRef param   // 減算する値
);

参照

SFXDateDuration::Add | SFXDateDuration::Div | SFXDateDuration::Mod | SFXDateDuration::Mul | SFXDateDuration::Neg


SFXDateDuration::ZeroInstance
0 を表すインスタンスを取得します。
[ public, static ]
SFXDateDurationConstRef ZeroInstance(Void);

解説

すべてのメンバ変数が 0 のインスタンスを返します。


operator%
日時の差の剰余を求めます。
[ public, friend ]
SFXDateDuration operator%(
    SFXDateDurationConstRef left   // 対象となる日時の差
    SInt32 right                   // 除算する値
);

解説

right の値が 0 の場合の動作は未定義です。

参照

SFXDateDuration::operator%= | SFXDateDuration::operator= | operator/ | SFXDateDuration::operator/= | operator- | SFXDateDuration::operator-= | operator* | SFXDateDuration::operator*= | operator+ | SFXDateDuration::operator+=


SFXDateDuration::operator%=
日時の差の剰余を求めます。
[ public ]
SFXDateDurationRef operator%=(
    SInt32 param   // 日時の差を除算する値
);

解説

param の値が 0 の場合の動作は未定義です。

参照

operator% | SFXDateDuration::operator= | operator/ | SFXDateDuration::operator/= | operator- | SFXDateDuration::operator-= | operator* | SFXDateDuration::operator*= | operator+ | SFXDateDuration::operator+=


SFXDateDuration::operator=
日時の差を代入します。
[ public ]
SFXDateDurationRef operator=(
    SFXDateDurationConstRef param   // 代入する値
);

参照

operator% | SFXDateDuration::operator%= | operator/ | SFXDateDuration::operator/= | operator- | SFXDateDuration::operator-= | operator* | SFXDateDuration::operator*= | operator+ | SFXDateDuration::operator+=


SFXDateDuration::operator/=
日時の差を指定した値で除算します。
[ public ]
SFXDateDurationRef operator/=(
    SInt32 param   // 除算する値
);

解説

param の値が 0 の場合の動作は未定義です。

参照

operator% | SFXDateDuration::operator%= | SFXDateDuration::operator= | operator/ | operator- | SFXDateDuration::operator-= | operator* | SFXDateDuration::operator*= | operator+ | SFXDateDuration::operator+=


operator/
日時の差を指定した値で除算します。
[ public, friend ]
SFXDateDuration operator/(
    SFXDateDurationConstRef left   // 日時の差
    SInt32 right                   // 除算する値
);

解説

right の値が 0 の場合の動作は未定義です。

参照

operator% | SFXDateDuration::operator%= | SFXDateDuration::operator= | SFXDateDuration::operator/= | operator- | SFXDateDuration::operator-= | operator* | SFXDateDuration::operator*= | operator+ | SFXDateDuration::operator+=


operator==
== の関係を判定します。
[ public, friend ]
Bool operator==(
    SFXDateDurationConstRef left    // 比較する日時の差
    SFXDateDurationConstRef right   // 比較する日時の差
);

戻り値

  • 等しいとき : true
  • 異なるとき : false

参照

operator> | operator>= | operator< | operator<= | operator!=


operator>=
>= の関係を判定します。
[ public, friend ]
Bool operator>=(
    SFXDateDurationConstRef left    // 日時の差
    SFXDateDurationConstRef right   // 日時の差
);

戻り値

  • left が right 以上のとき: true
  • それ以外のとき : false

参照

operator== | operator> | operator< | operator<= | operator!=


operator>
> の関係を判定します。
[ public, friend ]
Bool operator>(
    SFXDateDurationConstRef left    // 日時の差
    SFXDateDurationConstRef right   // 日時の差
);

戻り値

  • left が大きいとき: true
  • それ以外のとき : false

参照

operator== | operator> | operator< | operator<= | operator!=


operator<=
<= の関係を判定します。
[ public, friend ]
Bool operator<=(
    SFXDateDurationConstRef left    // 比較する日時の差
    SFXDateDurationConstRef right   // 比較する日時の差
);

戻り値

  • left が right 以下のとき: true
  • それ以外のとき : false

参照

operator== | operator> | operator>= | operator< | operator!=


operator<
< の関係を判定します。
[ public, friend ]
Bool operator<(
    SFXDateDurationConstRef left    // 比較する日時の差
    SFXDateDurationConstRef right   // 比較する日時の差
);

戻り値

  • left が小さいとき: true
  • そうでないとき : false

参照

operator== | operator> | operator>= | operator<= | operator!=


SFXDateDuration::operator-=
指定した値を減算します。
[ public ]
SFXDateDurationRef operator-=(
    SFXDateDurationConstRef param   // 減算する値
);

参照

operator% | SFXDateDuration::operator%= | SFXDateDuration::operator= | operator/ | SFXDateDuration::operator/= | operator- | operator* | SFXDateDuration::operator*= | operator+ | SFXDateDuration::operator+=


operator-
指定した値を減算します。
[ public, const ]
SFXDateDuration operator-(Void);
[ public, friend ]
SFXDateDuration operator-(
    SFXDateDurationConstRef left    // 対象となる日時の差
    SFXDateDurationConstRef right   // 減算する値
);

参照

operator% | SFXDateDuration::operator%= | SFXDateDuration::operator= | operator/ | SFXDateDuration::operator/= | SFXDateDuration::operator-= | operator* | SFXDateDuration::operator*= | operator+ | SFXDateDuration::operator+=


SFXDateDuration::operator*=
日時の差を乗算します。
[ public ]
SFXDateDurationRef operator*=(
    SInt32 param   // 日時の差に乗算する値
);

参照

operator% | SFXDateDuration::operator%= | SFXDateDuration::operator= | operator/ | SFXDateDuration::operator/= | operator- | SFXDateDuration::operator-= | operator* | operator+ | SFXDateDuration::operator+=


operator*
日時の差を乗算します。
[ public, friend ]
SFXDateDuration operator*(
    SFXDateDurationConstRef left   // 対象となる日時の差
    SInt32 right                   // 乗算する値
);

参照

operator% | SFXDateDuration::operator%= | SFXDateDuration::operator= | operator/ | SFXDateDuration::operator/= | operator- | SFXDateDuration::operator-= | SFXDateDuration::operator*= | operator+ | SFXDateDuration::operator+=


operator!=
!= の関係を判定します。
[ public, friend ]
Bool operator!=(
    SFXDateDurationConstRef left    // 比較する日時の差
    SFXDateDurationConstRef right   // 比較する日時の差
);

戻り値

  • 異なるとき : true
  • 等しいとき : false

参照

operator== | operator> | operator>= | operator< | operator<=


SFXDateDuration::operator+=
日時の差を加算します。
[ public ]
SFXDateDurationRef operator+=(
    SFXDateDurationConstRef param   // 加算する値
);

参照

operator% | SFXDateDuration::operator%= | SFXDateDuration::operator= | operator/ | SFXDateDuration::operator/= | operator- | SFXDateDuration::operator-= | operator* | SFXDateDuration::operator*= | operator+


operator+
日時の差に指定した値を加算します。
[ public, const ]
SFXDateDuration operator+(Void);
[ public, friend ]
SFXDateDuration operator+(
    SFXDateDurationConstRef left    // 対象となる日時の差
    SFXDateDurationConstRef right   // 加算する値
);

参照

operator% | SFXDateDuration::operator%= | SFXDateDuration::operator= | operator/ | SFXDateDuration::operator/= | operator- | SFXDateDuration::operator-= | operator* | SFXDateDuration::operator*= | SFXDateDuration::operator+=