IntervalDS类

IntervalDS类封装以天、小时、分钟、秒和小数秒为单位的时间间隔计算。主要字段的精度是由输入的以天为单位的十进制数决定的。分秒精度由输入的分数位数决定。

如何通过直接分配使用一个空的IntervalDS对象

Environment *env = Environment::createEnvironment();

// 创建一个空的间隔

IntervalDS ds;

if(ds.isNull())

    cout << "\n ds is null";


// 给ds分配一个非空值

IntervalDS anotherDS(env, "10 20:14:2");

ds = anotherDS;


// 现在所有对区间的操作都是有效的

int DAY = ds.getDay();

IntervalDS()

IntervalDS类构造函数。

语法 描述
IntervalDS(); 构造一个空IntervalDS对象。可以通过 赋值或调用fromText()方法来初始化NU LL IntervalDS。可以对空IntervalDS 对象调用的方法是isNull()。

IntervalDS(

const Environment * env,

int day = 0,

int hour = 0,

int minute = 0,

int second = 0,

int fs = 0);

在指定的环境中构造IntervalDS对象。

IntervalDS(

const IntervalDS &src);
从src构造一个IntervalDS对象。
参数 描述
env 环境
day IntervalDS的日期字段
hour IntervalDS的小时字段
minute IntervalDS的分钟字段
second IntervalDS的秒字段
fs IntervalDS的fs字段
src 复制IntervalDS对象的源IntervalDS。

fromText()

从指定的字符串创建间隔。

语法

void fromText(

   const string &inpstr,const string &nlsParam = "",const Environment *env = NULL);
参数 描述
inpstr 要关闭的环境
nlsParam 不支持
env ACCI环境对象指针

fromUText()

从指定的字符串创建间隔。

语法

void fromUText(

      const UString &inpstr,

      const Environment *env=NULL );
参数 描述
nlsParam days hours:minutes:seconds的格式
env ACCI环境对象指针

getDay()

返回时间间隔的day组件。

语法

int getDay() const;

getFracSec()

返回时间间隔的小数秒部分。

语法

int getFracSec() const;

getHour()

返回时间间隔的小时部分。

语法

int getHour() const;

getMinute()

返回此间隔的分钟部分。

语法

int getMinute() const;

getSecond()

返回此间隔的秒部分。

语法

int getSecond() const;

isNull()

测试时间间隔是否为空。如果interval为NULL,则返回TRUE;否则,返回FALSE。

语法

bool isNull() const;

operator*()

将间隔乘以指定的值并返回结果。

语法

const IntervalDS operator*(

   const IntervalDS &interval,

   const Number &val);
参数 描述
interval 要乘的区间。
val 乘区间的值。

operator*=()

将间隔乘以指定的值结果赋值给区间。

语法

IntervalDS& operator*=(

   const Number  &factor);
参数 描述
factor 间隔的秒数

operator=()

重载赋值运算符。

语法

IntervalDS& operator=(

   const IntervalDS &src);
参数 描述
src 要分配的值。

operator==()

比较指定的间隔。如果间隔相等,则返回TRUE;否则,返回FALSE。如果任何一个间隔为空,则抛出SQLException。

语法

bool operator==(

   const IntervalDS &first,

   const IntervalDS &second);
参数 描述
first 要比较的第一个间隔。
second 要比较的第二个间隔。

operator!=()

比较指定的间隔。如果间隔不相等,则返回TRUE;否则,返回FALSE。如果任何一个间隔为空,则抛出SQLException。

语法

bool operator!=(

    const IntervalDS &first,

    const IntervalDS &second);
参数 描述
first 要比较的第一个间隔。
second 要比较的第二个间隔。

operator/()

返回间隔除以常数值的结果。

语法

const IntervalDS operator/(

    const IntervalDS &dividend,

    const Number &factor);
参数 描述
dividend 要分割的区间。
factor 要除以区间的值。

operator/=()

将区间和val的商赋给区间。

语法

IntervalDS& operator/=(

    const Number &factor);
参数 描述
factor 要除以区间的值。

operator>()

比较指定的间隔。如果第一个间隔大于第二个间隔,那么返回TRUE;否则,返回FALSE。

如果任何一个间隔为空,则抛出SQLException。

语法

bool operator>(

   const IntervalDS &first,

   const IntervalDS &second);
参数 描述
first 要比较的第一个间隔。
second 要比较的第二个间隔。

operator>=()

比较指定的间隔。如果第一个间隔大于或等于第二个间隔,那么返回TRUE;否则,返回FALSE。如果任何一个间隔为空,则抛出SQLException。

语法

bool operator>=(

   const IntervalDS &first,

   const IntervalDS &first);
参数 描述
first 要比较的第一个间隔。
second 要比较的第二个间隔。

operator<()

比较指定的间隔。如果第一个间隔小于第二个间隔,则返回TRUE;否则,返回FALSE。如果任何一个间隔为空,则抛出SQLException。

语法

bool operator<(

   const IntervalDS &first,

   const IntervalDS &second);
参数 描述
first 要比较的第一个间隔。
second 要比较的第二个间隔。

operator<=()

比较指定的间隔。如果第一个间隔小于或等于第二个间隔,则返回TRUE;否则,返回FALSE。如果任何一个间隔为空,则抛出SQLException。

语法

bool operator<=(

   const IntervalDS &first,

   const IntervalDS &second);
参数 描述
first 要比较的第一个间隔。
second 要比较的第二个间隔。

operator-()

返回第一和第二间隔之间的差。

语法

const IntervalDS operator-(

   const IntervalDS &first,

   const IntervalDS &second);
参数 描述
first 要比较的第一个间隔。
second 要比较的第二个间隔。

operator-=()

间隔和val之间的差赋给间隔。

语法

IntervalDS& operator-=(

   const IntervalDS &val);
参数 描述
val 赋值源对象

operator+()

返回指定的间隔的和。

语法

const IntervalDS operator+(

   const IntervalDS &first,

   const IntervalDS &second);
参数 描述
first 要比较的第一个间隔。
second 要比较的第二个间隔。

operator+=()

将间隔和val的和赋给间隔。

语法

IntervalDS& operator+=(

    const IntervalDS &val);
参数 描述
val 赋值源对象

set()

将间隔设置为指定的值。

语法

void set(

   int day,

   int hour,

   int minute,

   int second,

   int fracsec);
参数 描述
day
hour 小时
minute 分钟
second
fracsec 小数秒

setNull()

将间隔设置为NULL。

语法

void setNull();

toText()

将间隔转换为字符串表示形式。

语法

string toText(

   unsigned int lfprec,

   unsigned int fsprec,

   const string &nlsParam = "") const;
参数 描述
lfprec 字符串中首位位置的精度位数
fsprec 小数秒的精度位数
nlsParam 不支持

toUText()

将间隔转换为字符串表示形式。

语法

UString toUText(

unsigned int lfprec,

unsigned int fsprec) const;
参数 描述
lfprec 字符串中首位位置的精度位数
fsprec 小数秒的精度位数