Timestamp类¶
当前状态。这个类支持带时区的SQL标准时间戳和不带时区类型的时间戳,并适用于所有数据库时间戳类型:时间戳、带时区的时间戳和带本地时区的时间戳。
Timestamp¶
时间戳类构造函数。
| 语法 | 描述 |
|---|---|
| Timestamp(); | 返回空时间戳对象。空时间戳可以通过赋值或调用fromTex t()方法来初始化。可以对空时间戳对象调用的方法是set Null()、isNull()和operator=()。 |
|
拷贝构造函数。 |
Timestamp(
|
返回默认的时间戳对象。时间分量被理解为在指定的时区内 。 |
Timestamp(
|
返回默认的时间戳对象。时间分量被理解为在指定的时区内 。 |
| 参数 | 描述 |
|---|---|
| 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 ×tmpStr, const string &fmt, const string &nlsParam const Environment * env |
要转换为时间戳对象的时间戳字符串。 要转换为Number对象的数字字符串 格式字符串 ACCI环境句柄 |
void fromText( const UString ×tmpStr, 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(
|
将IntervalDS时间间隔添加到时间戳。 |
const Timestamp intervalAdd(
|
将IntervalYM时间间隔添加到时间戳。 |
| 参数 | 描述 |
|---|---|
| val | 要添加的间隔 |
IntervalSub¶
| 语法 | 描述 |
|---|---|
const Timestamp intervalSub(
|
将IntervalDS时间间隔添加到时间戳。 |
const Timestamp intervalSub(
|
将IntervalYM时间间隔添加到时间戳。 |
| 参数 | 描述 |
|---|---|
| val | 要减去的间隔 |
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。 |
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 参数。 |