VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

时间和日期处理函数

TO_LUNAR

功能描述

将日期类型和时间戳类型中的公历年份和日期转换成干支年份和农历日期。

干支纪年是天干和地支的总称,指中国传统纪年历法。把干支顺序相配为60年一个周期。

入参类型

日期类型date或时间戳类型timestamp,范围是1901-1-1到2099-12-31。

返回值类型

字符类型char,为UTF8编码格式的中文字符的干支纪年法的农历日期。

示例

select to_lunar('2024-10-10 10:10:10'::date) r1;

返回结果为:

       r1
----------------
 甲辰年九月初八
(1 row)

FROM_LUNAR

功能描述

将干支年份农历日期转换成最近一个干支几年周期(即从1984甲子年开始的干支纪年周期)的公历年份和日期。

入参类型

字符类型char,为UTF8编码格式的中文字符的干支纪年法的农历日期。

返回值类型

日期类型date。

  • 入参必须严格按照干支年份农历日期规则,例如干支年份不能奇偶错配。

  • 农历的月份书写需注意:正月不能写成一月、冬月不能写成十一月、腊月不能写成十二月。

  • 农历的闰月不能写错月。

  • 农历的日期中,廿一不能写成二十一,以此类推,甘九不能写成二十九。

干支纪年和农历日期规则

  • 天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸。

  • 地支:子、丑、寅、卯、辰、已、午、未、申、酉、成、亥。

  • 纪年方法:十天干,十二地支,单与单配,偶与偶合,单不与偶组合,按序相配,形成甲子、乙丑、丙寅……癸亥等,60年一轮回。

  • 农历月份:正月、二月、三月、四月、五月、六月、七月、八月、九月、十月、冬月、腊月。

  • 农历闰月:表示在某一个农历月后面,在闰一个月。例如,三月、四月、闰四月、五月等等。

  • 农历大小月:农历的大月为 30天,小月为 29天。

  • 农历日为:初一、初二、初三、初四、初五、初六、初七、初八、初九、初十、十一、十二、十三、十四、十五、十六、十七、十八、十九、二十、廿一、廿二、廿三、廿四、廿五、廿六、廿七、廿八、廿九、三十。如果是小月,则没有三十,只到廿九。

示例

SELECT from_lunar('甲子年正月初二');

返回结果为:

     from_lunar
---------------------
 1984-02-03 00:00:00
(1 row)