当前位置: 首页 > 科技观察

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

时间:2023-03-14 14:09:48 科技观察

1.pom.xml导入依赖包cn.hutoolhutool-all5.8.02.新建测试DateUtilDemo.java测试类基本上涵盖了常见的日期用法。importcn.hutool.core.date.DateUtil;importcn.hutool.core.date.Month;importjava.util.Calendar;importjava.util.Date;/***@authorhaogm*@ClassNameDateUtil*@description:TODO*@datetime2023年01月07日9:11*@version:1.0*/publicclassDateUtilDemo{publicstaticvoidmain(String[]args){GetDatePart();//字符串到日期();//获取最后一天();//获取当前日期();GetDateStartOrEndTime();其他测试();}/***通过月份枚举获取某月的最后一天*/privatestaticvoidGetLastDay(){//2月28日是闰年intlastDayFebLeap=Month.of(Calendar.FEBRUARY).getLastDay(true);//2月29日intlastDayFebNoLeap=Month.of(Calendar.二月).getLastDay(假);//8月30日intlastDay=Month.of(Calendar.SEPTEMBER).getLastDay(false);//1月31日intlastDayJune=Month.of(Calendar.JANUARY).getLastDay(true);System.out.println("闰年二月的最后一天:"+lastDayFebLeap);System.out.println("正常年份二月的最后一天:"+lastDayFebNoLeap);System.out.println("5月的最后一天:"+lastDayJune);System.out.println("八月的最后一天:"+lastDay);}/***获取当前时间的用法*/privatestaticvoidGetCurrentDate(){//获取当前时间的三种写法DatecurrentDate1=DateUtil.date();日期currentDate2=DateUtil.date(Calendar.getInstance());日期currentDate3=DateUtil.date(System.currentTimeMillis());//获取当前时间字符串,格式:yyyy-MM-ddHH:mm:ssStringnow=DateUtil.now();//获取当前日期字符串格式为yyyy-MM-ddStringnowStr=DateUtil.today();}/***StringConvertdate*/privatestaticvoidStringToDate(){//parseDate将格式转换为日期;pass转换格式根据字符串内容判断是否有时间部分。推荐使用parseDatedate=DateUtil.parseDate("2023-01-07");日期date2=DateUtil.parseDate("2023/01/07");日期date3=DateUtil.parseDate("2023.01.07");//输出结果只包含日期和时间部分Datedate4=DateUtil.parse("2023-01-0708:10");//输出结果只包含日期,不包含时间部分Datedate5=DateUtil.parseDate("2023-01-0708:10");//自定义转换格式可以包含时间部分Datedate6=DateUtil.parse("2023-01-0708:10","yyyy-MM-ddHH:mm");}/***获取部分日期*/privatestaticvoidGetDatePart(){Datenow=DateUtil.date();intyear=DateUtil.year(now);intmonth=DateUtil.month(now);intday=DateUtil.dayOfYear(现在);//是否是周末booleanweekend=DateUtil.isWeekend(now);//获取季度intquarter=DateUtil.quarter(now);//获取小时inthour=DateUtil.hour(now,true);}/***获取某个日期的起止时间,多用于SQL查询*/privatestaticvoidGetDateStartOrEndTime(){现在日期=DateUtil.date();日期startDate=DateUtil.beginOfDay(now);日期结束日期=DateUtil.endOfDay(现在);}/***其他测试演示*/privatestaticvoidOtherTest(){//获取十二生肖ChineseZodiac=DateUtil.getChineseZodiac(2023);//"处女座"Stringzodiac=DateUtil.getZodiac(Month.SEPTEMBER.getValue(),19);//是否是闰年booleanleapYear=DateUtil.isLeapYear(2023);}}