代码页:
backend/utils/adt/datetime.c
函数原型
extern void j2date(int jd, int *year, int *month, int *day);
函数解释:
将时间jd转换为年月日(注意加上POSTGRES_EPOCH_JDATE)
j2date(day+POSTGRES_EPOCH_JDATE, &y, &m, &d);
测试编码:
int y, m, d;
DateADT day = PG_GETARG_DATEADT(0);
j2date(day+POSTGRES_EPOCH_JDATE, &y, &m, &d);
ereport(WARNING,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("timestamp = %d-%d-%d年 \n",y,m,d)));
测试:
select test_date('20160719');
结果:
timestamp = 2016-7-19年