Timestamp类

当前状态。这个类支持带时区的SQL标准时间戳和不带时区类型的时间戳,并适用于所有数据库时间戳类型:时间戳、带时区的时间戳和带本地时区的时间戳。

Timestamp

时间戳类构造函数。

语法 描述
Timestamp(); 返回空时间戳对象。空时间戳可以通过赋值或调用fromTex t()方法来初始化。可以对空时间戳对象调用的方法是set Null()、isNull()和operator=()。
Timestamp(
const Timestamp &src);
拷贝构造函数。

Timestamp(

const Environment * env,

int year=1,

unsigned int month=1,

unsigned int day=1,

unsigned int hour=0,

unsigned int min=0,

unsigned int sec=0,

unsigned int fs=0,

int tzhour=0,

int tzmin=0,

返回默认的时间戳对象。时间分量被理解为在指定的时区内 。

Timestamp(

const Environment * env,

int year,

unsigned int month

unsigned int day

unsigned int hour

unsigned int min

unsigned int sec

unsigned int fs

const UString &timezone

返回默认的时间戳对象。时间分量被理解为在指定的时区内 。
参数 描述
env 环境指针
year
month
day
hour
min
sec
fs 纳秒
tzhour 小时的时差
tzmin 分钟的时差
src 源时间戳
timezone 时区

注解

fs参数单位为纳秒,但由于神通数据库的timestamp只支持到微妙,因此fs的只必须大于等于1000,否则timestamp插入到数据库中或从timestamp类中获取的小数位为0.比如你想插入到数据库中2021-12-12 10:10:10.1234 ,在构建timestamp类似时,fs参数传入123400000

fromText

将时间戳对象设置为字符串表示的值。

参数 描述

void fromText(

const string &timestmpStr,

const string &fmt,

const string &nlsParam

const Environment * env

要转换为时间戳对象的时间戳字符串。

要转换为Number对象的数字字符串

格式字符串

ACCI环境句柄

void fromText(

const UString &timestmpStr,

const UString &fmt,

const UString &nlsParam

const Environment * env

要转换为时间戳对象的时间戳字符串。

要转换为Number对象的数字字符串

格式字符串

ACCI环境句柄

getDate

返回时间戳的年、月和日值。

语法

void getDate(

   int &year,

   unsigned int &month,

   unsigned int &day) const;
参数 描述
year
month
day

getTime

返回时间戳的时、分、秒和小数秒值。

语法

void getTime(

    unsigned int &hour,

    unsigned int &minute,

    unsigned int &second,

    unsigned int &fs) const;
参数 描述
hour
minute
second
fs 纳秒

getTimeZoneOffset

返回以小时和分钟为单位的时区偏移量。

语法

void getTimeZoneOffset(

   int &hour,

   int &minute) const;
参数 描述
hour 时区小时
minute 时区分钟

intervalAdd

语法 描述

const Timestamp intervalAdd(

const IntervalDS& val) const
将IntervalDS时间间隔添加到时间戳。

const Timestamp intervalAdd(

const IntervalYM& val) const
将IntervalYM时间间隔添加到时间戳。
参数 描述
val 要添加的间隔

IntervalSub

语法 描述

const Timestamp intervalSub(

const IntervalDS& val) const
将IntervalDS时间间隔添加到时间戳。

const Timestamp intervalSub(

const IntervalYM& val) const
将IntervalYM时间间隔添加到时间戳。
参数 描述
val 要减去的间隔

isNull

如果时间戳为空,返回TRUE;否则返回FALSE。

语法

bool isNull() const;

operator=()

将给定的时间戳对象分配给此对象。

语法

Timestamp & operator=(

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

operator==()

比较指定的时间戳。如果时间戳相等,则返回TRUE,否则返回FALSE。如果a或b为空,则返回FALSE。

语法

bool operator==(

   const Timestamp &first,

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

operator!=()

比较指定的时间戳。如果时间戳不相等,则返回TRUE;否则,返回FALSE。如果时间戳为空,则返回FALSE。

语法

bool operator!=(

   const Timestamp &first,

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

operator>()

如果第一个大于第二个,返回TRUE,否则返回FALSE。如果其中任何一个为空,则返回FALSE。

语法

bool operator>(

   const Timestamp &first,

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

operator>=()

比较指定的时间戳。如果第一个时间戳大于或等于第二个时间戳,则返回TRUE;否则,返回FALSE。如果时间戳为空,则返回FALSE。

语法

bool operator>=(

   const Timestamp &first,

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

operator<()

如果第一个小于第二个,返回TRUE,否则返回FALSE。如果a或b为空,则返回FALSE。

语法

bool operator<(

   const Timestamp &first,

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

operator<=()

比较指定的时间戳。如果第一个时间戳小于或等于第二个时间戳,则返回TRUE;否则,返回FALSE。如果时间戳为空,则返回FALSE。

语法

bool operator<=(

   const Timestamp &first,

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

setDate

设置此时间戳包含的年、月、日。

语法

void setDate(

   int year,

   unsigned int month,

   unsigned int day);
参数 描述
year 年,有效值是-4713到9999。
month 月。有效值是1到12。
day 天。有效值是1到31。

setNull

将时间戳设置为空。

语法

void setNull();

setTime

设置该时间戳的日、小时、分钟、秒和小数秒。

语法

void setTime(

   unsigned int hour,

   unsigned int minute,
参数 描述
hour 小时。有效值是0到23。
minute 分钟。有效值是0到59。
second 秒。有效值是0到59。
fs 小数秒。

setTimeZoneOffset

设置时区的小时和分钟偏移。

语法

void setTimeZoneOffset(

   int hour,

   int minute);
参数 描述
hour 小时。有效值是0到23。
minute 分钟。有效值是0到59。

subDS

计算此时间戳和指定时间戳之间的差值,并将差值作为间隔返回。

语法

const IntervalDS subDS(

   const Timestamp& val) const;
参数 描述
val 要减去的时间戳。

subYM

计算时间戳值之间的差值,并将差值作为间隔返回。

语法

const IntervalYM subYM(

    const Timestamp& val) const;
参数 描述
val 要减去的时间戳。

toText()

根据指定的参数将数字对象转换为格式化字符串。

参数 描述

string toText(

const string &fmt,

unsigned int fsprec,

const string &nlsParam

格式字符串

Timestamp 的小数秒部分的精度

NLS 参数字符串。 如果指定了 nlsParam, 这将确定要用于转换的 NLS 参数。 如果未指定 nlsParam 则从 envp 中获取 NLS 参数。

UString toText(

const UString &fmt,

unsigned int fsprec,

const UString &nlsParam

格式字符串

Timestamp 的小数秒部分的精度

NLS 参数字符串。 如果指定了 nlsParam, 这将确定要用于转换的 NLS 参数。 如果未指定 nlsParam 则从 envp 中获取 NLS 参数。