技术活,该赏
关注+一键三连(点赞,评论,收藏)再看,养成好习惯
用途:农历日期工具类
使用场景
农历日期工具,最大支持到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()
方法描述
获得农历年份
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
返回农历年份
参考案例:
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());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getGregorianYear()
方法描述
获取公历的年
支持版本及以上
5.6.1
参数描述:
参数名 | 描述 |
---|
返回值:
公历年
参考案例:
//获取公历的年
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(2021, date.getGregorianYear());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getMonth()
方法描述
获取农历的月,从1开始计数
支持版本及以上
5.2.4
参数描述:
参数名 | 描述 |
---|
返回值:
农历的月
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals(1, date.getMonth());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getGregorianMonthBase1()
方法描述
获取公历的月,从1开始计数
支持版本及以上
5.6.1
参数描述:
参数名 | 描述 |
---|
返回值:
公历月
参考案例:
//获取公历的月,从1开始计数
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(5, date.getGregorianMonthBase1());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getGregorianMonth()
方法描述
获取公历的月,从0开始计数
支持版本及以上
5.6.1
参数描述:
参数名 | 描述 |
---|
返回值:
公历月
参考案例:
//获取公历的月,从0开始计数
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(4, date.getGregorianMonth());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.isLeapMonth()
方法描述
当前农历月份是否为闰月
支持版本及以上
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());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getChineseMonth()
方法描述
获得农历月份(中文,例如二月,十二月,或者润一月)
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
返回农历月份
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("一月", date.getChineseMonth());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getChineseMonthName()
方法描述
获得农历月称呼(中文,例如二月,腊月,或者润正月)
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
返回农历月份称呼
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("正月", date.getChineseMonthName());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getDay()
方法描述
获取农历的日,从1开始计数
支持版本及以上
5.2.4
参数描述:
参数名 | 描述 |
---|
返回值:
农历的日,从1开始计数
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals(1, date.getDay());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getGregorianDay()
方法描述
获取公历的日
支持版本及以上
5.6.1
参数描述:
参数名 | 描述 |
---|
返回值:
公历日
参考案例:
//获取公历的日
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(19, date.getGregorianDay());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getChineseDay()
方法描述
获得农历日
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得农历日
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("初一", date.getChineseDay());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getGregorianDate()
方法描述
获取公历的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());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getGregorianCalendar()
方法描述
获取公历的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"));
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getFestivals()
方法描述
获得节日
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得农历节日
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("春节", date.getFestivals());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getChineseZodiac()
方法描述
获得年份生肖
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得年份生肖
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("鼠", date.getChineseZodiac());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getCyclical()
方法描述
获得年的天干地支
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得天干地支
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("庚子", date.getCyclical());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getCyclicalYMD()
方法描述
干支纪年信息
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得天干地支的年月日信息
参考案例:
//通过公历构建
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);
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getTerm()
方法描述
获得节气
支持版本及以上
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());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.toStringNormal()
方法描述
转换为标准的日期格式来表示农历日期,例如2020-01-13
支持版本及以上
5.2.4
参数描述:
参数名 | 描述 |
---|
返回值:
标准的日期格式
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("2019-12-30", date.toStringNormal());
源码解析:
链接:待补充
方法明细
方法名称:cn.hutool.core.date.ChineseDate.toString()
方法描述
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals("辛丑牛年 四月初八", date.toString());
源码解析:
链接:待补充