Java领域好用强大的开源库之HulTool

这篇具有很好参考价值的文章主要介绍了Java领域好用强大的开源库之HulTool。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.1 开源项目简介

Hultool 是Java领域一个非常强大好用的开源工具库集。

下面是官网介绍:

  • Hutool是一个功能丰富且易用的Java工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务。
  • 这些封装的工具涵盖了字符串、数字、集合、编码、日期、文件、IO、加密、数据库JDBC、JSON、HTTP客户端等一系列操作,
  • 可以满足各种不同的开发需求。

1.2 功能说明

Hultool 是一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:

  • hutool-aop JDK动态代理封装,提供非IOC下的切面支持
  • hutool-bloomFilter 布隆过滤,提供一些Hash算法的布隆过滤 hutool-cache 简单缓存实现
  • hutool-core 核心,包括Bean操作、日期、各种Util等
  • hutool-cron 定时任务模块,提供类Crontab表达式的定时任务
  • hutool-crypto 加密解密模块,提供对称、非对称和摘要算法封装
  • hutool-db JDBC封装后的数据操作,基于ActiveRecord思想 hutool-dfa 基于DFA模型的多关键字查找
  • hutool-extra 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等)
  • hutool-http 基于HttpUrlConnection的Http客户端封装 hutool-log 自动识别日志实现的日志门面
  • hutool-script 脚本执行封装,例如Javascript
  • hutool-setting 功能更强大的Setting配置文件和Properties封装
  • hutool-system 系统参数调用封装(JVM信息等) hutool-json JSON实现
  • hutool-captcha 图片验证码实现 hutool-poi 针对POI中Excel和Word的封装
  • hutool-socket 基于Java的NIO和AIO的Socket封装
  • hutool-jwt JSON Web Token
    (JWT)封装实现 可以根据需求对每个模块单独引入,也可以通过引入hutool-all方式引入所有模块。

1.4 如何使用 Hultool?

1.4.1 Maven 项目

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.19</version>
</dependency>

1.4.2 Gradle 项目

implementation 'cn.hutool:hutool-all:5.8.19'

1.3 使用说明

Hultool 文档资源很全,具体用法可参考如下资料:

  • 📘中文文档

  • 📘中文备用文档

  • 📙参考API

  • 🎬视频介绍

  • 查看HulTool 源码

Hutool的源码分为两个分支,功能如下:

分支 作用
v5-master 主分支,release版本使用的分支,与中央库提交的jar一致,不接收任何pr或修改
v5-master 开发分支,默认为下个版本的SNAPSHOT版本,接受修改或pr

1.4 强大功能展示

1.4.1 想将一个字符串转成Date类型?

DateUtil.parse方法会自动识别一些常用格式,包括:

  • yyyy/MM/dd HH:mm:ss
  • yyyy.MM.dd HH:mm:ss
  • yyyy年MM月dd日 HH时mm分ss秒
  • yyyy-MM-dd
  • yyyy/MM/dd
  • yyyy.MM.dd
  • HH:mm:ss
  • HH时mm分ss秒
  • yyyy-MM-dd HH:mm
  • yyyy-MM-dd HH:mm:ss.SSS
  • yyyyMMddHHmmss
  • yyyyMMddHHmmssSSS
  • yyyyMMdd
  • EEE, dd MMM yyyy HH:mm:ss z
  • EEE MMM dd HH:mm:ss zzz yyyy
  • yyyy-MM-dd’T’HH:mm:ss’Z’
  • yyyy-MM-dd’T’HH:mm:ss.SSS’Z’
  • yyyy-MM-dd’T’HH:mm:ssZ
  • yyyy-MM-dd’T’HH:mm:ss.SSSZ

用法示例一

String dateStr = "2017-03-01";
Date date = DateUtil.parse(dateStr);

用法示例二

String dateStr = "2017-03-01";
Date date = DateUtil.parse(dateStr, "yyyy-MM-dd");

1.4.2 判断两个日期之间相隔多少天?

String dateStr1 = "2017-03-01 22:33:23";
Date date1 = DateUtil.parse(dateStr1);

String dateStr2 = "2017-04-01 23:33:23";
Date date2 = DateUtil.parse(dateStr2);

//相差一个月,31天
long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY);

注意:经过测试,参数date1和date2 传入的先后顺序无关

1.4.3 传入年月日时分秒,返回精确到毫秒的起止时间

代码示例

        ElkLogQueryParam elkLogQueryParam=new ElkLogQueryParam();
        elkLogQueryParam.setStartTimeStr("2023-05-29 16:14:11");
        elkLogQueryParam.setEndTimeStr("2023-05-31 16:14:11");
        Date startDate= ElkDateUtils.convertStartDateTimeDetail(elkLogQueryParam.getStartTimeStr());
        Date endDate= ElkDateUtils.convertEndDateTimeDetail(elkLogQueryParam.getEndTimeStr());
        String formatStartDate=DateUtil.format(startDate,"yyyy-MM-dd HH:mm:ss.SSS");
        String formatEndDate=DateUtil.format(endDate,"yyyy-MM-dd HH:mm:ss.SSS");
        System.out.println(formatStartDate);
        System.out.println(formatEndDate);

输出结果:

2023-05-29 16:14:11.000
2023-05-31 16:14:11.999

功能二次封装增强

    public static Date convertStartDateTimeDetail(String startTimeStr){
        return DateUtil.parse(startTimeStr+".000", "yyyy-MM-dd HH:mm:ss.SSS");
    }
    public static Date convertEndDateTimeDetail(String endTimeStr){
        return DateUtil.parse(endTimeStr+".999", "yyyy-MM-dd HH:mm:ss.SSS");
    }

1.4.4 最常用-年月日时分秒字符串转日期类型

String dateStr = "2017-03-01 22:33:23";
Date date = DateUtil.parse(dateStr);

1.4.5 最常用-年月日时分秒日期类型转字符串

Date date = new Date();
String dateStr = DateUtil.formatDateTime(date);
// 输出字符串 2023-09-01 10:42:00

1.4.6 获取某个日期的开始时间和结束时间

有的时候我们需要获得每天的开始时间、结束时间,每月的开始和结束时间等等,DateUtil也提供了相关方法:文章来源地址https://www.toymoban.com/news/detail-772276.html

String dateStr = "2017-03-01 22:33:23";
Date date = DateUtil.parse(dateStr);

//一天的开始,结果:2017-03-01 00:00:00
Date beginOfDay = DateUtil.beginOfDay(date);

//一天的结束,结果:2017-03-01 23:59:59
Date endOfDay = DateUtil.endOfDay(date);

到了这里,关于Java领域好用强大的开源库之HulTool的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 盘点C# 9.0中好用的特性

    将类和类里面Main函数省略,只留下核心的逻辑代码就是顶级语句! 1.顶级语句1 1.顶级语句2 init通过允许调用方在构造操作过程中改变成员,访问器使不可变对象更具灵活性。 这意味着对象的不可变属性可以参与对象初始值设定项,因此不再需要类型中的所有构造函数样板。

    2023年04月22日
    浏览(37)
  • 一个很好用且开源的java验证码框架kaptcha

             kaptcha是一个优秀的验证码框架 ,在不多的项目中使用了很多年很稳定,功能强大配置项很丰富,可以根据不同的需求配置不同的效果。  以下最常用的配置  字母+数字 验证码实现的效果图:    如果不是springboot项目,xml配置项:

    2024年04月12日
    浏览(43)
  • 盘点ai写作工具:三个好用的ai写作工具

    在需要大量文本内容的场合中,ai写作软件是一种非常便利和实用的工具。无论是写作工具、营销推广、新闻媒体还是内容创作,都可以通过使用该软件提高工作效率和质量,节省时间和精力。有时候我们需要的是根据标题来写文字,那这个时候,ai根据标题写文字要怎么弄呢

    2024年02月09日
    浏览(52)
  • 10款好用的AI生成PPT软件盘点,干货建议收藏!

    作为一名学生或职场人,你是否在PPT幻灯片上花费了大量的时间? 一个好消息是,随着AI技术与各种办公软件的结合,是时候摆脱PPT的束缚,拥抱更愉快的幻灯片制作体验了! 在这篇文章中,我们盘点了 2023年10款好用的AI生成PPT软件 ,可帮助你在几秒钟内生成一份美观的P

    2024年02月03日
    浏览(142)
  • 什么牌子台灯好用不伤眼睛?盘点国内值得入手的护眼灯

    选择一款不伤眼睛的台灯主要看光照柔和、光照范围广,符合标准照度国A或国AA、显色指数Ra90以上、无眩光、RG0无危害蓝光、无可视频闪等,对于现在许多青少年的近视率增加,一旦近视就无法恢复,保护好眼睛,在学习阅读时,开启护眼台灯能起到一定的护眼作用。 Top1

    2023年04月25日
    浏览(52)
  • 盘点好用的API管理软件,API管理开发工具Postman

    Postman是一款简单高效的api管理开发工具,你可以在组织良好的图形用户界面中管理,组织和测试API,并加速新应用程序的开发。Postman破解版为您提供了为API创建和组织HTTP请求的可能性,同时还集成了测试功能。您可以创建自定义方案并以简化的方式分析API响应。而且由于云

    2023年04月08日
    浏览(38)
  • 盘点| 有哪些比较新的好用的React Native 开发工具?

    2015年,FaceBook首次开发并发布React Native框架,用于构建原始的移动应用程序。React Native的特点是使用JavaScript和React编写应用程序代码,而不是其他移动应用程序开发框架,同时利用iOS和Android平台的原始组件和API,从而实现更快、更有效的开发流程。今天就来跟大家分享 Reac

    2023年04月24日
    浏览(46)
  • 6款强大免费电脑录屏软件,好用给力

    免费且开源的电脑录屏和直播软件 提供强大的屏幕录制、音频录制和视频编辑功能 支持多种录屏方式,如全屏、窗口、区域等 提供丰富的设置选项,如帧率、分辨率、音频设置等 支持强大的直播功能和视频源混合功能 适用于游戏直播、教育和演示等领域 简单易用的免费电

    2024年02月06日
    浏览(56)
  • 好用到爆,IDEA 版 Postman 面世了,功能真心强大

    IDEA是最常用的开发工具,很多程序员都想把它打造成一站式开发平台,于是安装了各种各样的插件。最近发现了一款IDEA插件RestfulFastRequest,细节做的真心不错,说它是IDEA版的Postman也不为过,推荐给大家! RestfulFastRequest号称是IDEA版本的Postman。它是一个功能强大的Restful API工

    2024年04月14日
    浏览(87)
  • 好用的AI软件有哪些?4款强大的AI软件推荐!

    大家好。我是不知名 设计师 l1m0_,今天分享内容为:4款强大的AI软件推荐。对AIGC内容创作感兴趣的朋友一定不能错过,一起来看看吧。 随着人工智能技术的不断发展,AI软件已经成为许多设计师、艺术家和创意爱好者的得力助手。这些AI软件不仅能够提升创作效率,还能为

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包