技术活,该赏
关注+一键三连(点赞,评论,收藏)再看,养成好习惯
hutool实战(带你掌握里面的各种工具)目录
农历日期工具,最大支持到2055年,支持:
此博文的依据:hutool-5.6.5版本源码
cn.hutool
hutool-core
5.6.5
方法 | 描述 |
---|---|
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());
链接:待补充