文章23 | 阅读 30920 | 点赞0
农历日期工具,最大支持到2055年,支持:
此博文的依据:hutool-5.6.5版本源码
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.6.5</version>
</dependency>
方法 | 描述 |
---|---|
cn.hutool.core.date.ChineseDate.getChineseYear() | 获得农历年份 |
cn.hutool.core.date.ChineseDate.getGregorianYear() | 获取公历的年 |
cn.hutool.core.date.ChineseDate.getMonth() | 获取农历的月,从1开始计数 |
cn.hutool.core.date.ChineseDate.getGregorianMonthBase1() | 获取公历的月,从1开始计数 |
cn.hutool.core.date.ChineseDate.getGregorianMonth() | 获取公历的月,从0开始计数 |
cn.hutool.core.date.ChineseDate.isLeapMonth() | 当前农历月份是否为闰月 |
cn.hutool.core.date.ChineseDate.getChineseMonth() | 获得农历月份(中文,例如二月,十二月,或者润一月) |
cn.hutool.core.date.ChineseDate.getChineseMonthName() | 获得农历月称呼(中文,例如二月,腊月,或者润正月) |
cn.hutool.core.date.ChineseDate.getDay() | 获取农历的日,从1开始计数 |
cn.hutool.core.date.ChineseDate.getGregorianDay() | 获取公历的日 |
cn.hutool.core.date.ChineseDate.getChineseDay() | 获得农历日 |
cn.hutool.core.date.ChineseDate.getGregorianDate() | 获取公历的Date |
cn.hutool.core.date.ChineseDate.getGregorianCalendar() | 获取公历的Calendar |
cn.hutool.core.date.ChineseDate.getFestivals() | 获得节日 |
cn.hutool.core.date.ChineseDate.getChineseZodiac() | 获得年份生肖 |
cn.hutool.core.date.ChineseDate.getCyclical() | 获得年的天干地支 |
cn.hutool.core.date.ChineseDate.getCyclicalYMD() | 干支纪年信息 |
cn.hutool.core.date.ChineseDate.getTerm() | 获得节气 |
cn.hutool.core.date.ChineseDate.toStringNormal() | 转换为标准的日期格式来表示农历日期,例如2020-01-13 |
cn.hutool.core.date.ChineseDate.toString() |
获得农历年份
参数名 | 描述 |
---|
返回农历年份
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("2020-01-25 00:00:00", date.getGregorianDate().toString());
Assert.assertEquals(2020, date.getChineseYear());
链接:待补充
获取公历的年
5.6.1
参数名 | 描述 |
---|
公历年
//获取公历的年
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(2021, date.getGregorianYear());
链接:待补充
获取农历的月,从1开始计数
5.2.4
参数名 | 描述 |
---|
农历的月
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals(1, date.getMonth());
链接:待补充
获取公历的月,从1开始计数
5.6.1
参数名 | 描述 |
---|
公历月
//获取公历的月,从1开始计数
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(5, date.getGregorianMonthBase1());
链接:待补充
获取公历的月,从0开始计数
5.6.1
参数名 | 描述 |
---|
公历月
//获取公历的月,从0开始计数
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(4, date.getGregorianMonth());
链接:待补充
当前农历月份是否为闰月
5.4.2
参数名 | 描述 |
---|
是否为闰月
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-05-19"));
Assert.assertEquals(true, date.isLeapMonth());
date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(false, date.isLeapMonth());
链接:待补充
获得农历月份(中文,例如二月,十二月,或者润一月)
参数名 | 描述 |
---|
返回农历月份
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("一月", date.getChineseMonth());
链接:待补充
获得农历月称呼(中文,例如二月,腊月,或者润正月)
参数名 | 描述 |
---|
返回农历月份称呼
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("正月", date.getChineseMonthName());
链接:待补充
获取农历的日,从1开始计数
5.2.4
参数名 | 描述 |
---|
农历的日,从1开始计数
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals(1, date.getDay());
链接:待补充
获取公历的日
5.6.1
参数名 | 描述 |
---|
公历日
//获取公历的日
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(19, date.getGregorianDay());
链接:待补充
获得农历日
参数名 | 描述 |
---|
获得农历日
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("初一", date.getChineseDay());
链接:待补充
获取公历的Date
5.6.1
参数名 | 描述 |
---|
公历Date
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("2020-01-25 00:00:00", date.getGregorianDate().toString());
链接:待补充
获取公历的Calendar
5.6.1
参数名 | 描述 |
---|
公历Calendar
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Calendar calendar = date.getGregorianCalendar();
Assert.assertEquals("2021-05-19", DateUtil.format(DateUtil.date(calendar),"yyyy-MM-dd"));
链接:待补充
获得节日
参数名 | 描述 |
---|
获得农历节日
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("春节", date.getFestivals());
链接:待补充
获得年份生肖
参数名 | 描述 |
---|
获得年份生肖
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("鼠", date.getChineseZodiac());
链接:待补充
获得年的天干地支
参数名 | 描述 |
---|
获得天干地支
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("庚子", date.getCyclical());
链接:待补充
干支纪年信息
参数名 | 描述 |
---|
获得天干地支的年月日信息
//通过公历构建
ChineseDate chineseDate = new ChineseDate(DateUtil.parseDate("1993-01-06"));
String cyclicalYMD = chineseDate.getCyclicalYMD();
Assert.assertEquals("壬申年癸丑月丁亥日",cyclicalYMD);
//通过农历构建
ChineseDate chineseDate = new ChineseDate(1992,12,14);
String cyclicalYMD = chineseDate.getCyclicalYMD();
Assert.assertEquals("壬申年癸丑月丁亥日",cyclicalYMD);
链接:待补充
获得节气
5.6.3
参数名 | 描述 |
---|
获得节气
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals("", date.getTerm());
date = new ChineseDate(DateUtil.parseDate("2021-05-21"));
Assert.assertEquals("小满", date.getTerm());
链接:待补充
转换为标准的日期格式来表示农历日期,例如2020-01-13
5.2.4
参数名 | 描述 |
---|
标准的日期格式
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("2019-12-30", date.toStringNormal());
链接:待补充
参数名 | 描述 |
---|
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals("辛丑牛年 四月初八", date.toString());
链接:待补充
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://xiaoxuzhu.blog.csdn.net/article/details/117431150
内容来源于网络,如有侵权,请联系作者删除!