8hutool实战:ChineseDate(农历日期工具类)
【摘要】
技术活,该赏
关注+一键三连(点赞,评论,收藏)再看,养成好习惯
12
hutool实战(带你掌握里面的各种工具)目录
万字博文教你搞懂java源码的日期和时间相关用法
用途:农历日期工具类
...
技术活,该赏
关注+一键三连(点赞,评论,收藏)再看,养成好习惯
- 1
- 2
用途:农历日期工具类
使用场景
农历日期工具,最大支持到2055年,支持:
- 通过公历日期构造获取对应农历
- 通过农历日期直接构造
项目引用
此博文的依据:hutool-5.6.5版本源码
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.6.5</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
方法摘要
方法明细
方法名称: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());
- 1
- 2
- 3
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getGregorianYear()
方法描述
获取公历的年
支持版本及以上
5.6.1
参数描述:
参数名 | 描述 |
---|
返回值:
公历年
参考案例:
//获取公历的年
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(2021, date.getGregorianYear());
- 1
- 2
- 3
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getMonth()
方法描述
获取农历的月,从1开始计数
支持版本及以上
5.2.4
参数描述:
参数名 | 描述 |
---|
返回值:
农历的月
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals(1, date.getMonth());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称: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());
- 1
- 2
- 3
源码解析:
链接:待补充
- 1
方法明细
方法名称: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());
- 1
- 2
- 3
源码解析:
链接:待补充
- 1
方法明细
方法名称: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());
- 1
- 2
- 3
- 4
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getChineseMonth()
方法描述
获得农历月份(中文,例如二月,十二月,或者润一月)
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
返回农历月份
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("一月", date.getChineseMonth());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getChineseMonthName()
方法描述
获得农历月称呼(中文,例如二月,腊月,或者润正月)
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
返回农历月份称呼
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("正月", date.getChineseMonthName());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称: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());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getGregorianDay()
方法描述
获取公历的日
支持版本及以上
5.6.1
参数描述:
参数名 | 描述 |
---|
返回值:
公历日
参考案例:
//获取公历的日
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals(19, date.getGregorianDay());
- 1
- 2
- 3
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getChineseDay()
方法描述
获得农历日
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得农历日
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("初一", date.getChineseDay());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称: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());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称: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"));
- 1
- 2
- 3
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getFestivals()
方法描述
获得节日
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得农历节日
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("春节", date.getFestivals());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getChineseZodiac()
方法描述
获得年份生肖
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得年份生肖
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("鼠", date.getChineseZodiac());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.getCyclical()
方法描述
获得年的天干地支
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
获得天干地支
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
Assert.assertEquals("庚子", date.getCyclical());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称: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);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
源码解析:
链接:待补充
- 1
方法明细
方法名称: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());
- 1
- 2
- 3
- 4
源码解析:
链接:待补充
- 1
方法明细
方法名称: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());
- 1
- 2
源码解析:
链接:待补充
- 1
方法明细
方法名称:cn.hutool.core.date.ChineseDate.toString()
方法描述
支持版本及以上
参数描述:
参数名 | 描述 |
---|
返回值:
参考案例:
ChineseDate date = new ChineseDate(DateUtil.parseDate("2021-05-19"));
Assert.assertEquals("辛丑牛年 四月初八", date.toString());
- 1
- 2
源码解析:
链接:待补充
- 1
文章来源: xiaoxuzhu.blog.csdn.net,作者:小虚竹,版权归原作者所有,如需转载,请联系作者。
原文链接:xiaoxuzhu.blog.csdn.net/article/details/117431150
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)