前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFXDateDuration
日時の差を表すクラスです。
#include <SFXDateDuration.h.hpp>
class SFXDateDuration;
SFMTYPEDEFCLASS(SFXDateDuration)

解説

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

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

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 クラスのコンストラクタです。
SFXDateDuration( SFXDateDurationConstRef param )
SFXDateDuration クラスのコンストラクタです。
SFXDateDuration( SInt32 day , SInt32 hour , SInt32 minute , SInt64 second )
SFXDateDuration クラスのコンストラクタです。
SFXDateDuration( SInt32 hour , SInt32 minute , SInt64 second )
SFXDateDuration クラスのコンストラクタです。
SFXDateDuration( SInt32 minute , SInt64 second )
SFXDateDuration クラスのコンストラクタです。
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 )
この日時の差を指定された値に設定します。
Void Set( SInt32 day , SInt32 hour , SInt32 minute , SInt64 second )
この日時の差を指定された値に設定します。
Void Set( SInt32 hour , SInt32 minute , SInt64 second )
この日時の差を指定された値に設定します。
Void Set( SInt32 minute , SInt64 second )
この日時の差を指定された値に設定します。
Void Set( 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 )
左側の日時の差を右側の値で除算した日時の差を返します。
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 )
左側の日時の差から右側の時間を減算した日時の差を返します。
SFXDateDuration operator-( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
左側の日時の差から右側の時間を減算した日時の差を返します。
SFXDateDuration operator%( SFXDateDurationConstRef left , SInt32 right )
左側の日時の差を右側の値で剰余した日時の差を返します。
SFXDateDuration operator*( SFXDateDurationConstRef left , SInt32 right )
左側の日時の差に右側の値を乗算した日時の差を返します。
Bool operator!=( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
左側の日時の差が右側の日時の差と異なるか判定します。
SFXDateDuration operator+( Void )
左側の日時の差に右側の時間を加算した日時の差を返します。
SFXDateDuration operator+( SFXDateDurationConstRef left , SFXDateDurationConstRef 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 )
左側の日時の差から右側の時間を減算した日時の差を返します。
SFXDateDuration operator-( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
左側の日時の差から右側の時間を減算した日時の差を返します。
SFXDateDuration operator%( SFXDateDurationConstRef left , SInt32 right )
左側の日時の差を右側の値で剰余した日時の差を返します。
SFXDateDuration operator*( SFXDateDurationConstRef left , SInt32 right )
左側の日時の差に右側の値を乗算した日時の差を返します。
Bool operator!=( SFXDateDurationConstRef left , SFXDateDurationConstRef right )
左側の日時の差が右側の日時の差と異なるか判定します。
SFXDateDuration operator+( Void )
左側の日時の差に右側の時間を加算した日時の差を返します。
SFXDateDuration 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

解説

この関数は、この日時の差が指定された日時の差と等しいか判定します。

参照

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


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

戻り値

UTC からの現地時間帯のオフセット

解説

この関数は、UTC からの現地時間帯のオフセットを取得します。

参照

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 秒からのオフセット

解説

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

使用例

以下のコードでは、 2010 年 12 月 2 日 16 時 29 分 35 秒 の 1900 年 1 月 1 日 0 時 0 分 0 秒からの経過時間を計算しています。

SFXDate date(2010, 12, 2, 16, 29, 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 秒からのオフセット

解説

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

使用例

以下のコードでは、 2010 年 12 月 2 日 16 時 29 分 35 秒 の 1970 年 1 月 1 日 0 時 0 分 0 秒からの経過時間を計算しています。

SFXDate date(2010, 12, 2, 16, 29, 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 を表すインスタンス

解説

この関数は、0 を表すインスタンスを取得します。

[Note] 注意

コンストラクタの SFXDateDuration(0) と同じ結果を返しますが、 この関数の方が高速に動作します。

参照

SFXDateDuration::SFXDateDuration


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

戻り値

代入後の左側の日時の差

解説

このオペレーターは、左側の日時の差に右側の日時の差を代入します。

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼします。

参照

SFXDateDuration::Set


SFXDateDuration::operator/=
左側の日時の差を右側の値で除算します。
[ public ]
SFXDateDurationRef operator/=(
    SInt32 param   // 右側の値
);

戻り値

右側の値で除算した後の左側の日時の差

解説

このオペレーターは、左側の日時の差を右側の値で除算します。

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

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼします。

参照

SFXDateDuration::Div | operator/


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

戻り値

左側の日時の差を右側の値で除算した日時の差

解説

このオペレーターは、左側の日時の差を右側の値で除算した日時の差をコピーして返します。

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

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼしません。

参照

SFXDateDuration::Div | SFXDateDuration::operator/=


operator==
左側の日時の差が右側の日時の差と等しいか判定します。
[ public, friend ]
Bool operator==(
    SFXDateDurationConstRef left    // 左側の日時の差
    SFXDateDurationConstRef right   // 右側の日時の差
);

戻り値

  • 等しいとき: true
  • そうでないとき: false

解説

このオペレーターは、左側の日時の差が右側の日時の差と等しいか判定します。

参照

SFXDateDuration::Equals | operator> | operator>= | operator< | operator<= | operator!=


operator>=
左側の日時の差が右側の日時の差以上であるか判定します。
[ public, friend ]
Bool operator>=(
    SFXDateDurationConstRef left    // 左側の日時の差
    SFXDateDurationConstRef right   // 右側の日時の差
);

戻り値

  • 左側の日時の差が右側の日時の差以上であるとき: true
  • そうでないとき: false

解説

このオペレーターは、左側の日時の差が右側の日時の差以上であるか判定します。

参照

SFXDateDuration::Compare | operator== | operator> | operator< | operator<=


operator>
左側の日時の差が右側の日時の差よりも大きいか判定します。
[ public, friend ]
Bool operator>(
    SFXDateDurationConstRef left    // 左側の日時の差
    SFXDateDurationConstRef right   // 右側の日時の差
);

戻り値

  • 左側の日時の差が右側の日時の差よりも大きいとき: true
  • そうでないとき: false

解説

このオペレーターは、左側の日時の差が右側の日時の差よりも大きいか判定します。

参照

SFXDateDuration::Compare | operator== | operator>= | operator< | operator<=


operator<=
左側の日時の差が右側の日時の差以下であるか判定します。
[ public, friend ]
Bool operator<=(
    SFXDateDurationConstRef left    // 左側の日時の差
    SFXDateDurationConstRef right   // 右側の日時の差
);

戻り値

  • 左側の日時の差が右側の日時の差以下であるとき: true
  • そうでないとき: false

解説

このオペレーターは、左側の日時の差が右側の日時の差以下であるか判定します。

参照

SFXDateDuration::Compare | operator< | operator== | operator> | operator>=


operator<
左側の日時の差が右側の日時の差よりも小さいか判定します。
[ public, friend ]
Bool operator<(
    SFXDateDurationConstRef left    // 左側の日時の差
    SFXDateDurationConstRef right   // 右側の日時の差
);

戻り値

  • 左側の日時の差が右側の日時の差よりも小さいとき: true
  • そうでないとき: false

解説

このオペレーターは、左側の日時の差が右側の日時の差よりも小さいか判定します。

参照

SFXDateDuration::Compare | operator<= | operator== | operator> | operator>=


SFXDateDuration::operator-=
左側の日時の差から右側の時間を減算します。
[ public ]
SFXDateDurationRef operator-=(
    SFXDateDurationConstRef param   // 右側の時間(SFXDateDuration 型)
);

戻り値

左側の日時の差から右側の時間を減算した後の左側の日時の差

解説

このオペレーターは、 左側の日時の差から右側の時間を減算します。

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼします。

参照

SFXDateDuration::Sub | operator-


operator-
左側の日時の差から右側の時間を減算した日時の差を返します。
[ public, const ]
SFXDateDuration operator-(Void);
[ public, friend ]
SFXDateDuration operator-(
    SFXDateDurationConstRef left    // 左側の日時の差
    SFXDateDurationConstRef right   // 右側の時間(SFXDateDuration 型)
);

戻り値

左側の日時の差から右側の時間を減算した日時の差

解説

このオペレーターは、 左側の日時の差から右側の時間を減算した日時の差をコピーして返します。

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼしません。

参照

SFXDateDuration::Sub | SFXDateDuration::operator-=


SFXDateDuration::operator%=
左側の日時の差を右側の値で剰余します。
[ public ]
SFXDateDurationRef operator%=(
    SInt32 param   // 右側の値
);

戻り値

右側の値で剰余した後の左側の日時の差

解説

このオペレーターは、左側の日時の差を右側の値で剰余します。

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

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼします。

参照

SFXDateDuration::Mod | operator%


operator%
左側の日時の差を右側の値で剰余した日時の差を返します。
[ public, friend ]
SFXDateDuration operator%(
    SFXDateDurationConstRef left   // 左側の日時の差
    SInt32 right                   // 右側の値
);

戻り値

左側の日時の差を右側の値で剰余した日時の差

解説

このオペレーターは、左側の日時の差を右側の値で剰余した日時の差を返します。

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

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼしません。

参照

SFXDateDuration::Mod | SFXDateDuration::operator%=


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

戻り値

右側の値で乗算した後の左側の日時の差

解説

このオペレーターは、左側の日時の差に右側の値を乗算します。

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼします。

参照

SFXDateDuration::Mul | operator*


operator*
左側の日時の差に右側の値を乗算した日時の差を返します。
[ public, friend ]
SFXDateDuration operator*(
    SFXDateDurationConstRef left   // 左側の日時の差
    SInt32 right                   // 右側の値
);

戻り値

左側の日時の差に右側の値を乗算した日時の差

解説

このオペレーターは、左側の日時の差に右側の値を乗算した日時の差をコピーして返します。

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼしません。

参照

SFXDateDuration::Mul | SFXDateDuration::operator*=


operator!=
左側の日時の差が右側の日時の差と異なるか判定します。
[ public, friend ]
Bool operator!=(
    SFXDateDurationConstRef left    // 左側の日時の差
    SFXDateDurationConstRef right   // 右側の日時の差
);

戻り値

  • 異なるとき: true
  • そうでないとき: false

解説

このオペレーターは、左側の日時の差が右側の日時の差と異なるか判定します。

参照

SFXDateDuration::Equals | operator==


SFXDateDuration::operator+=
左側の日時の差に右側の時間を加算します。
[ public ]
SFXDateDurationRef operator+=(
    SFXDateDurationConstRef param   // 右側の時間(SFXDateDuration 型)
);

戻り値

左側の日時の差に右側の時間を加算した後の左側の日時の差

解説

このオペレーターは、 左側の日時の差に右側の時間を加算します。

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼします。

参照

SFXDateDuration::Add | operator+


operator+
左側の日時の差に右側の時間を加算した日時の差を返します。
[ public, const ]
SFXDateDuration operator+(Void);
[ public, friend ]
SFXDateDuration operator+(
    SFXDateDurationConstRef left    // 左側の日時の差
    SFXDateDurationConstRef right   // 右側の時間(SFXDateDuration 型)
);

戻り値

左側の日時の差に右側の時間を加算した日時の差

解説

このオペレーターは、 左側の日時の差に右側の時間を加算した日時の差をコピーして返します。

[Note] 注意

このオペレーターは左側の日時の差に影響を及ぼしません。

参照

SFXDateDuration::Add | SFXDateDuration::operator+=