Java實戰(zhàn):Hutool類庫中的DateUtil用法總結(jié)
作者:郝光明
今天給大家分享Hutool類庫中的DateUtil用法總結(jié),希望對大家能有所幫助。
1、pom.xml 導(dǎo)入依賴包
<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);
}
/**
* 獲取當(dāng)前時間的用法
*/
private static void GetCurrentDate() {
// 獲取當(dāng)前時間的三種寫法
Date currentDate1 = DateUtil.date();
Date currentDate2 = DateUtil.date(Calendar.getInstance());
Date currentDate3 = DateUtil.date(System.currentTimeMillis());
//獲取當(dāng)前時間字符串,格式:yyyy-MM-dd HH:mm:ss
String now = DateUtil.now();
// 獲取當(dāng)前日期字符串 格式為 yyyy-MM-dd
String nowStr = DateUtil.today();
}
/**
* 字符串轉(zhuǎn)日期
*/
private static void StringToDate() {
// parseDate 轉(zhuǎn)換格式為日期; parse 轉(zhuǎn)換格式根據(jù)字符串內(nèi)容決定是否有時間部分,推薦使用parse
Date date = DateUtil.parseDate("2023-01-07");
Date date2 = DateUtil.parseDate("2023/01/07");
Date date3 = DateUtil.parseDate("2023.01.07");
// 輸出結(jié)果只包含日期 包含時間部分
Date date4 = DateUtil.parse("2023-01-07 08:10");
// 輸出結(jié)果只包含日期 不包含時間部分
Date date5 = DateUtil.parseDate("2023-01-07 08:10");
// 自定義轉(zhuǎn)換格式 可以包含時間部分
Date date6 = DateUtil.parse("2023-01-07 08:10", "yyyy-MM-dd HH:mm");
}
/**
* 獲取日期中的部分內(nèi)容
*/
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);
}
/**
* 獲取某個日期的開始結(jié)束時間 針對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);
}
}
責(zé)任編輯:武曉燕
來源:
IT技術(shù)分享社區(qū)