Date类型接口
TO_DATE中fmt支持的格式
描述 | fmt描述符 | 解释 |
---|---|---|
年 | Y | 年(显示4位,默认21世纪) |
YY | ||
YYY | ||
YYYY | ||
RR | 年(显示4位,默认21世纪) | |
RRRR | ||
月 | MM | 月份数(01-12) |
天 | DD | 一个月里的日(01-31) |
分隔符 | \ - , ; : # / text | 描述符分隔符 |
时 | HH | 时(0-11) |
HH24 | 24小时制(0-23) | |
分 | MI | 分(0-59) |
秒 | SS | 秒(0-59,为60的话分钟值会自动加1) |
OCIDateSysDate
功能描述
获取客户端当前系统的时间和日期。
功能说明
获取客户端当前系统的时间和日期。
接口信息
函数/过程
OCIDateSysDate语法如下:
sword OCIDateSysDate(
OCIError *errhp,
OCIDate *sys_date
)
具体参数解释如下:
- errhp(IN):错误句柄,当出现错误时,使用OCIErrorGet()获取错误信息。
- sya_date(OUT):客户端当前的时间和日期,不能为空。
其他说明
无
OCIDateToText
功能描述
将日期类型转换为字符串。
功能说明
将日期类型转换成字符串。
接口信息
函数/过程
OCIDateToText语法如下:
sword OCIDateToText (
OCIError *err,
const OCIDate *date,
const OraText *fmt,
ub1 fmt_length,
const OraText *lang_name,
ub4 lang_length,
ub4 *buf_size,
OraText *buf
)
参数的解释如下:
- err(IN):错误句柄,可以通过OCIErrorGet()诊断错误信息。
- date(IN):要装换的OCIDate类型的日期。
- fmt(IN):转换成的格式。如果为NULL、(text*)0,则日期将装换成默认格式“DD-MON-YY”的字符串
- 目前只支持“dd”表示日,“mm”表示月,“yyyy”表示年,“hh”表示时,“mi”表示分,“ss”表示秒,但是字段顺序没有要求,字段分隔符也没有要求。例如:“ddmmyyyy:hhmiss”或者“dd mm yyyy:hh mi ss”。
- 目前暂不支持为NULL使用默认的情况。
- 目前年份暂时不考虑为负数的情况。
- fmt_length(IN):fmt的长度。
- lang_name(IN):指定返回月份和日期的名称的缩写的语言;lang_name如果为NULL、(text*)则会使用默认语言。目前暂不支持指定。
- leng_length(IN):lang_name的长度,目前暂不支持指定。
- buf_size(IN/OUT):输入缓冲区的大小,输出字符串的大小。
- buf(out):转换成字符串后所在的缓冲区,不能为空。
其他说明
无
OCIDateFromText
功能描述
根据指定格式的字符串转换成日期类型。
功能说明
根据给定的字符串以及字符串格式,将字符串转换成日期时间类型。
接口信息
函数/过程
OCIDateFromText语法如下:
sword OCIDateFromText(
OCIError *err,
const OraText *date_str,
ub4 d_str_length,
const OraText *fmt,
ub1 fmt_length,
const OraText *lang_name,
ub4 lang_length,
OCIDate *date
)
参数的解释如下:
- err(IN):错误句柄,可以通过OCIErrorGet()诊断错误信息。
- date_str(IN):要转换成日期类型的字符串。
- d_str_length(IN):输入的字符串长度。如果为-1,则将date_str视为以NULL结尾的字符串。
- fmt(IN):字符串的格式,如果fmt是NULL指针,则字符默认为“DD-MON-YY”格式
- 目前只支持“dd”表示日,“mm”表示月,“yyyy”表示年。但是字段顺序没有要求,字段分隔符也没有要求。例如:“ddmmyyyy”或者“dd mm yyyy”。
- 目前暂不支持为NULL使用默认的情况。
- fmt_length(IN):fmt的长度。
- leng_name(IN):指定日期和月份的名称和缩写的语言,如果lang_name是NULL、(text*)0,则使用默认语言。
- lang_length(IN):lang_name的长度。
- date(IN):结果的日期类型指针,不能为空。
其他说明
无
OCIDateAssign
功能描述
进行一个日期赋值。
功能说明
OCIDateAssign进行一个日期赋值。
接口信息
函数/过程
接口如下:
sword OCIDateAssign( OCIError *err,
const OCIDate * from,
OCIDate * to);
参数解释如下:
err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。
from(IN):被分配的日期值。
to(OUT):日期所分配到的对象。
外部接口
无
其他说明
无
OCIDateCheck
功能描述
测定给定的日期是否有效。
功能说明
OCIDateCheck测定给定的日期是否有效。
接口信息
函数/过程
接口如下:
sword OCIDateCheck(OCIError *err,
CONST OCIDate *date,
uword *valid);
参数解释如下:
err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCERrrorGet()获得错误的诊断信息。
date(IN):欲进行测试的日期值。
valid(OUT):对于一个有效的日期,将返回0,否则将返回所出错误的组合。
外部接口
无
其他说明
Macro Name | Bit Number | Error |
---|---|---|
OCI_DATE_INVALID_DAY | 0x1 | Bad day |
OCI_DATE_DAY_BELOW_VALID | 0x2 | Bad day low/high bit(1=low) |
OCI_DATE_INVALID_MONTH | 0x4 | Bad month |
OCI_DATE_MONTH_BELOW_VALID | 0x8 | Bad month low/high bit(1=low) |
OCI_DATE_INVALID_YEAR | 0x10 | Bad year |
OCI_DATE_YEAR_BELOW_VALID | 0x20 | Bad year low/high bit(1=low) |
OCI_DATE_INVALID_HOUR | 0x40 | Bad hour |
OCI_DATE_INVALID_MINUTE | 0x100 | Bad minute |
OOCI_DATE_INVALID_SECOND | Ox400 | Bad second |
OCIDateCompare
功能描述
进行两日期的比较。
功能说明
进行两日期的比较。
接口信息
函数/过程
接口如下:
sword OCIDateCompare( OCIError *err,
CONST OCIDate *date1,
CONST OCIDate *date2,
sword *result);
参数解释如下:
err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且有该函数返回OCE_ERROR,调用OCIErrorGet()获得错误的诊断信息。
date1,date2(IN):欲进行比较的日期。
result(OUT):比较的结果。
外部接口
无
其他说明
无
OCIDateGetDate
功能描述
获取一个数据库日期中的年月日。
功能说明
获取一个数据库日期中的年月日。
接口信息
函数/过程
接口如下:
Void OCIDateGetDate(CONST OCIDate *date,
sb2 *year
Ub1 *month
Ub1 *day);
参数解释如下:
date(IN):一个日期。
year(OUT):返回的year元素值。
month(OUT):返回的month元素值。
day(OUT):返回的day元素值。
外部接口
无
其他说明
无
OCIDateGetTime
功能描述
获取一个日期中的时间(time)对象。
功能说明
获取一个日期中的时间(time)对象。
接口信息
函数/过程
接口如下:
void OCIDateGetTime( CONST OCIDate *date,
ub1 *hour,
ub1 *min,
ub1 *sec);
参数解释如下:
date(IN):一个日期。
hour(OUT):返回的time对象中的hour元素值。
min(OUT):返回的time对象中的min元素值。
sec(OUT):返回的time对象中的sec元素值。
外部接口
无
其他说明
无
OCIDateSetDate
功能描述
设置日期的值。
功能说明
设置日期的值。
接口信息
函数/过程
接口如下:
Void OCIDateSetDate( OCIDate *date,
sb2 year,
ub1 month,
ub1 day);
参数解释如下:
date(OUT):时间数据已经设置的数据库服务器日期。
year(IN):设置年的值。
month(IN):设置月的值。
day(IN):设置天的值。
外部接口
无
其他说明
无
OCIDateSetTime
功能描述
设置时间的值。
功能说明
设置时间的值。
接口信息
函数/过程
接口如下:
Void OCIDateSetTime( OCIDate *date,
ub1 hour,
ub1 min,
ub1 sec);
参数解释如下:
date(OUT):时间数据已经设置的数据库服务器日期。
hour(IN):设置小时的值。
min(IN):设置分钟的值。
sec(IN):设置秒的值。
外部接口
无
其他说明
无
OCIDateLastDay
功能描述
返回指定日期的月的最后那天的日期。
功能说明
返回指定日期的月的最后那天的日期。
接口信息
函数/过程
接口如下:
sword OCIDateLastDay( OCIError *err,
const OCIDate *date,
OCIDate *last_date);
参数解释如下:
Err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。
date(IN):输入日期(月份有效期1-12)。
last_day(OUT):返回输入日期对应月最后一天的日期。
外部接口
无
其他说明
无
OCIDateNextDay
功能描述
返回指定日期的周的随后那天的日期。
功能说明
返回指定日期的周的随后那天的日期。
接口信息
函数/过程
接口如下:
sword OCIDateNextDay( OCIError *err,
CONST OCIDate *date,
CONST OraText *day_p,
ub4 day_length,
OCTDate *next_day);
参数解释如下:
err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。
date(IN):输入日期。
day_p(IN):输入指定的星期号,如下表所示(输入不区分大小写)。
星期号 | 表示1 | 表示2 |
---|---|---|
星期日 | SUNDAY | SUN |
星期一 | MONDAY | MON |
星期二 | TUESDAY | TUE |
星期三 | WEDNESDAY | WED |
星期四 | THURSDAY | THU |
星期五 | FRIDAY | FRI |
星期六 | SATURDAY | SAT |
day_length(IN):day字符串的字节长度。
next_day(OUT):返回指定的那一周的比date晚的第一天。
外部接口
无
其他说明
无
OCIDateAddDays
功能描述
对于一个给定的日期,增加或减去相应的天数。
功能说明
对于一个给定的日期,增加或减去相应的天数。
接口信息
函数/过程
接口如下:
sword OCIDateAddDays( OCIError *err,
CONST OCIDate *date,
sb4 num_days,
OCIDate *result);
参数解释如下:
err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函OCI_ERROR,用OCIErrorGet()获得错误的诊断信息。
date(IN):欲增加或减去相应天数的日期值。
num_days(IN):增加或减去的天数,负值表示减。
result(IN/OUT):对date增加或减去相应天数后的结果。
外部接口
无
其他说明
无
OCIDateAddMonths
功能描述
对于一个给定的日期,增加或减去相应的天数。
功能说明
对于一个给定的日期,增加或减去相应的天数。
接口信息
函数/过程
接口如下:
sword OCIDateAddMonths( OCIError *err,
CONST OCIDate *date,
Sb4 num_months,
OCIDate *result);
参数解释如下:
err(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。
date(IN):欲增加或减去相应月份的日期值。
num_months(IN):增加或减去的月份数,负值表示减。
result(IN/OUT):对date增加或减去相应月份数后的结果。
外部接口
无
其他说明
无
OCIDateZoneToZone
功能描述
将日期从一个时区转换为另一个时区。
功能说明
将日期从一个时区转换为另一个时区。
接口信息
函数/过程
接口如下:
sword OCIDateZoneToZone( OCIEror *err, const OcIDate *datel.
const oratext *zon1,
ub4 zonl_length, const oratext *zon2,
ub4 zon2 length, OCIDate *date2 );
参数解释如下:
em(IN/OUT):错误句柄。若有错误就记录在 err中,并且由该函数返回 OCI_ERROR,调用OCIEmorGe()获得错误的诊断信息。
datel(IN):日期值 1。
zon1(IN):时区1,有效值如下:
AST, ADT: Atlantic Standard or Daylight Time
BST, BDT: Bering Standard or Daylight Time
CST, CDT: Central Standard or Daylight Time
EST, EDT: Eastern Standard or Daylight Time
GMT: Greenwich Mean Time
HST, HDT: Alaska-Hawaii Standard Time or Daylight Time
MST, MDT: Mountain Standard or Daylight Time
NST: Newfoundland Standard Time
PST, PDT: Pacific Standard or Daylight Time
YST, YDT: Yukon Standard or Daylight Time
zon1_length(IN):时区1长度。
Zon2(IN):时区2取值和时区1同。
Zon2_length(IN):时区2长度。
Date2(OU):输出的日期 2。
外部接口
无
其他说明
无
OCIDateDaysBetween
功能描述
获取两个日期之间的天数。
功能说明
获取两个日期之间的天数。
接口信息
函数/过程
接口如下:
sword OCIDateDaysBetween( OCIError *err, const OCIDate *date1,
const OCIDate*date2, sb4 *num_days);
参数解释如下:
em(IN/OUT):OCI错误句柄。若有错误就记录在err中,并且由该函数返回OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。
datel(IN):日期值 1。
date2(IN):日期值 2。
days(OUT):相隔的天数。
外部接口
无
其他说明
无