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

开发 前端
今天给大家分享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() {
// 228天 isLeapYear 闰年
int lastDayFebLeap = Month.of(Calendar.FEBRUARY).getLastDay(true);
// 229
int lastDayFebNoLeap = Month.of(Calendar.FEBRUARY).getLastDay(false);
// 830
int lastDay = Month.of(Calendar.SEPTEMBER).getLastDay(false);
// 131
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);
}


}


责任编辑:武晓燕 来源: IT技术分享社区
相关推荐

2023-04-10 09:11:27

HutoolJava工具

2023-02-06 09:34:00

JavaHutool操作文件

2011-05-31 14:33:53

settimeout

2011-04-12 11:32:31

Oraclerownum用法

2011-04-19 16:38:00

对象指针指针C++

2011-04-07 16:34:05

staticC++

2015-12-09 09:51:03

Java高性能

2011-08-02 17:14:41

iPhone应用 UITableVie

2010-01-05 17:16:28

.NET Framew

2021-01-12 05:03:15

PythonLxmlXpath

2017-03-10 10:16:37

PythonRequests库

2023-12-12 13:55:00

Pythonsubprocess命令

2022-12-19 07:21:35

Hutool-db数据库JDBC

2015-07-13 09:46:44

Java习惯用法

2022-04-18 07:25:37

Nim语言C++

2019-08-02 09:13:22

Linux脚本语言欢聚时代

2021-02-17 13:52:35

数据库group byMySQL

2011-04-25 13:13:02

Javafinalize

2011-07-10 00:02:39

PHP

2010-04-28 16:30:52

Oracle case
点赞
收藏

51CTO技术栈公众号