8hutool实战:ChineseDate(农历日期工具类)

举报
小虚竹 发表于 2021/10/20 00:03:25 2021/10/20
【摘要】 技术活,该赏 关注+一键三连(点赞,评论,收藏)再看,养成好习惯 12 hutool实战(带你掌握里面的各种工具)目录 万字博文教你搞懂java源码的日期和时间相关用法 用途:农历日期工具类 ...
技术活,该赏
关注+一键三连(点赞,评论,收藏)再看,养成好习惯

  
 
  • 1
  • 2

hutool实战(带你掌握里面的各种工具)目录

万字博文教你搞懂java源码的日期和时间相关用法


用途:农历日期工具类

使用场景

农历日期工具,最大支持到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()
获得农历年份
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()

方法明细

方法名称: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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。