代碼頁:
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年