dtcurrent() 函数将当前的日期和时间赋给 datetime 变量。
语法
void dtcurrent(d)
dtime_t *d;
d
指向初始化的 datetime 主变量的指针。
用法
当将变量限定符设置为零(或任何无效的限定符)时,dtcurrent() 函数以 year to
fraction(3) 限定符来初始化它。
当该变量包含有效的限定符时,dtcurrent() 函数扩展当前的日期和时间来与该限定符
保持一致。
示例调用
下列语句将主变量 timewarp 设置为当前的日期:
EXEC SQL BEGIN DECLARE SECTION;
datetime year to day timewarp;
EXEC SQL END DECLARE SECTION;
dtcurrent(&timewarp);
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 674 -
下列语句将变量 now 设置为当前的时间,最接近于毫秒:
now.dt_qual = TU_DTENCODE(TU_HOUR,TU_F3);
dtcurrent(&now);
示例
demo 目录在 dtcurrent.ec 文件中包含此样例程序。
/*
* dtcurrent.ec *
The following program obtains the current date from the system, converts it to ASCII and
prints it.
*/
#include
EXEC SQL include datetime;
main()
{
mint x;
char out_str[20];
EXEC SQL BEGIN DECLARE SECTION;
datetime year to hour dt1;
EXEC SQL END DECLARE SECTION;
printf("DTCURRENT Sample ESQL Program running.\n\n");
/* Get today's date */
dtcurrent(&dt1);
/* Convert to ASCII for displaying */
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 675 -
dttoasc(&dt1, out_str);
printf("\tToday's datetime (year to minute) value is %s\n", out_str);
printf("\nDTCURRENT Sample Program over.\n\n");
}
输出
DTCURRENT Sample ESQL Program running.
Today's datetime (year to minute) value is 2007-09-16 14:49
DTCURRENT Sample Program over.