- 1. 依赖引入
- 2. 日期时间工具类DateUtil
- 3. 农历日期ChineseDate
- 4. 字符串工具-StrUtil
- 5. 集合工具-CollUtil
- 6. 线程工具-ThreadUtil
Hutool是一个Java工具包类库,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类
hutool封装了许多实用的工具类,可以减少我们平常开发中很多的代码量:
网址:https://www.hutool.cn/docs/#/ 1. 依赖引入
2. 日期时间工具类DateUtilcn.hutool hutool-all 5.8.0.M4
//获取当前时间 Date date = DateUtil.date(); //当前时间 Date date2 = DateUtil.date(Calendar.getInstance()); //当前时间 Date date3 = DateUtil.date(System.currentTimeMillis()); //当前时间字符串,格式:yyyy-MM-dd HH:mm:ss String now = DateUtil.now(); //当前日期字符串,格式:yyyy-MM-dd String today= DateUtil.today(); // 日期格式转换 String dateStr = "2017-03-01"; Date date = DateUtil.parse(dateStr); //结果 2017/03/01 String format = DateUtil.format(date, "yyyy/MM/dd"); //常用格式的格式化,结果:2017-03-01 String formatDate = DateUtil.formatDate(date); //结果:2017-03-01 00:00:00 String formatDateTime = DateUtil.formatDateTime(date); //结果:00:00:00 String formatTime = DateUtil.formatTime(date); Date date = DateUtil.date(); //获得年的部分 DateUtil.year(date); //获得月份,从0开始计数 DateUtil.month(date); //获得月份枚举 DateUtil.monthEnum(date); //一天的开始,结果:2017-03-01 00:00:00 Date beginOfDay = DateUtil.beginOfDay(date); //一天的结束,结果:2017-03-01 23:59:59 Date endOfDay = DateUtil.endOfDay(date);3. 农历日期ChineseDate
//通过农历构建
ChineseDate chineseDate = new ChineseDate(1992,12,14);
//通过公历构建
ChineseDate chineseDate = new ChineseDate(DateUtil.parseDate("1993-01-06"));
//通过公历构建
ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25"));
// 一月
date.getChineseMonth();
// 正月
date.getChineseMonthName();
// 初一
date.getChineseDay();
// 庚子
date.getCyclical();
// 生肖:鼠
date.getChineseZodiac();
// 传统节日(部分支持,逗号分隔):春节
date.getFestivals();
// 庚子鼠年 正月初一
date.toString();
4. 字符串工具-StrUtil
这个工具类似于Apache Commons Lang中的StringUtil
常用的方法例如isBlank、isNotBlank、isEmpty、isNotEmpty判断字符串是否为空;
hasBlank、hasEmpty方法
就是给定一些字符串,如果一旦有空的就返回true,常用于判断好多字段是否有空的(例如web表单数据)。这两个方法的区别是hasEmpty只判断是否为null或者空字符串(“”),hasBlank则会把不可见字符也算做空,isEmpty和isBlank同理。
isEmpty、isNotEmpty方法:判断集合是否为空(包括null和没有元素的集合)
6. 线程工具-ThreadUtil直接在公共线程池中执行线程
ThreadUtil.execute
执行异步方法
ThreadUtil.execAsync
经常可以使用如下方式执行一个异步任务,执行一些执行时间较长的功能。
ThreadUtil.execAsync(() -> function());



