Java实战:Hutool类库中的DateUtil用法总结

❤️作者主页:IT技术分享社区

❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。

❤️荣誉: CSDN博客专家、数据库优质创作者🏆,华为云享专家🏆,阿里云专家博主🏆 

❤️个人博客:IT技术分享社区

❤️公众号/小程序:IT技术分享社区 

❤️好文章点赞 👍 收藏 ⭐再看,养成习惯

今天给大家分享Hutool类库中的DateUtil用法总结,希望对大家能有所帮助

1、pom.xml 导入依赖包

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


2、新建测试DateUtilDemo.java测试类

基本包含了常见的日期用法比如字符串转日期、日期转字符串、获取当月的最后一天等等案例。

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.Month;

import java.util.Calendar;
import java.util.Date;


/**
 * @author haogm
 * @ClassName DateUtil
 * @description: TODO
 * @datetime 2023年 01月 07日 9:11
 * @version: 1.0
 */
public class DateUtilDemo {
    public static void main(String[] args) {
        GetDatePart();
        // StringToDate();
        // GetLastDay();
        // GetCurrentDate();
        GetDateStartOrEndTime();
        OtherTest();
    }

    /**
     * 通过月份枚举获得某个月的最后一天
     */
    private static void GetLastDay() {
        // 2月 28天  isLeapYear 闰年
        int lastDayFebLeap = Month.of(Calendar.FEBRUARY).getLastDay(true);
        // 2月 29天
        int lastDayFebNoLeap = Month.of(Calendar.FEBRUARY).getLastDay(false);
        // 8月  30天
        int lastDay = Month.of(Calendar.SEPTEMBER).getLastDay(false);
        // 1月 31天
        int lastDayJune = Month.of(Calendar.JANUARY).getLastDay(true);

        System.out.println("二月份闰年最后一天:" + lastDayFebLeap);
        System.out.println("二月份平年最后一天:" + lastDayFebNoLeap);
        System.out.println("五月份最后一天:" + lastDayJune);
        System.out.println("八月份最后一天:" + lastDay);

    }

    /**
     * 获取当前时间的用法
     */
    private static void GetCurrentDate() {
        // 获取当前时间的三种写法
        Date currentDate1 = DateUtil.date();
        Date currentDate2 = DateUtil.date(Calendar.getInstance());
        Date currentDate3 = DateUtil.date(System.currentTimeMillis());
        //获取当前时间字符串,格式:yyyy-MM-dd HH:mm:ss
        String now = DateUtil.now();
        // 获取当前日期字符串 格式为 yyyy-MM-dd
        String nowStr = DateUtil.today();
    }

    /**
     * 字符串转日期
     */
    private static void StringToDate() {
        // parseDate 转换格式为日期; parse 转换格式根据字符串内容决定是否有时间部分,推荐使用parse
        Date date = DateUtil.parseDate("2023-01-07");
        Date date2 = DateUtil.parseDate("2023/01/07");
        Date date3 = DateUtil.parseDate("2023.01.07");
        // 输出结果只包含日期 包含时间部分
        Date date4 = DateUtil.parse("2023-01-07 08:10");
        // 输出结果只包含日期 不包含时间部分
        Date date5 = DateUtil.parseDate("2023-01-07 08:10");
        // 自定义转换格式 可以包含时间部分
        Date date6 = DateUtil.parse("2023-01-07 08:10", "yyyy-MM-dd HH:mm");
    }

    /**
     * 获取日期中的部分内容
     */
    private static void GetDatePart() {
        Date now = DateUtil.date();
        int year = DateUtil.year(now);
        int month = DateUtil.month(now);
        int day = DateUtil.dayOfYear(now);
        // 是否是周末
        boolean weekend = DateUtil.isWeekend(now);
        // 获取季度
        int quarter = DateUtil.quarter(now);
        // 获取小时
        int hour = DateUtil.hour(now, true);
    }

    /**
     * 获取某个日期的开始结束时间 针对SQL查询用的比较多
     */
    private static void GetDateStartOrEndTime() {
        Date now = DateUtil.date();
        Date startDate = DateUtil.beginOfDay(now);
        Date endDate = DateUtil.endOfDay(now);
    }

    /**
     * 其他测试Demo
     */
    private static  void OtherTest()
    {
        // 获取属相
        String chineseZodiac = DateUtil.getChineseZodiac(2023);
        // "处女座"
        String zodiac = DateUtil.getZodiac(Month.SEPTEMBER.getValue(), 19);
        //是否闰年
        boolean leapYear = DateUtil.isLeapYear(2023);
    }


}

具体输出结果大家可以自己运行下,如有问题欢迎互相沟通交流!

posted @   天使不哭  阅读(591)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-01-11 网络知识:快速了解IP地址的概念以及IPV4和IPV6的区别!
2021-01-11 数据库安全:数据库加密技术介绍
2020-01-11 Spring的IOC原理(通俗解释)
2019-01-11 Win 10 终于干趴了 Win 7
2019-01-11 Win 10 终于干趴了 Win 7
点击右上角即可分享
微信分享提示