我这边是使用的java中的工具包hutool,使用之前需引入相关jar包,该部分可参考:hutool工具包的学习使用
该部分也是一个老师整理出来的,我这边直接借花献佛分享给有需要的小伙伴,注意hutool包要用最新的
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.*;
import cn.hutool.core.lang.Console;
import java.util.Calendar;
import java.util.Date;
/**
* huTool常用的日期工具类相关的方法
* <p>
* DateUtil
*/
public class HuToolDateUtil {
// 获取当前时间
public static void current() {
Date date = DateUtil.date();
Date date1 = DateUtil.date(Calendar.getInstance());
Date date2 = DateUtil.date(System.currentTimeMillis());
String now = DateUtil.now();
String today = DateUtil.today();
Console.log(date);
Console.log(date1);
Console.log(date2);
Console.log(now);
Console.log(today);
}
// 日期字符串转换
public static void convert() {
String date = "2022-09-18";
Console.log(DateUtil.parse(date));
String dateStr = "2017-03-01";
Date date2 = DateUtil.parse(dateStr, "yyyy-MM-dd");
Date date3 = Convert.toDate(dateStr);
Console.log(date3);
}
// 格式化输出
public static void format() {
String dateStr = "2017-03-01 12:12:12";
Date date = DateUtil.parse(dateStr, "yyyy-MM-dd HH:mm:ss");
String format = DateUtil.format(date, "yyyy/MM/dd HH:mm:ss");
Console.log(format);
String formatDate = DateUtil.formatDate(date);
Console.log(formatDate);
String formatDateTime = DateUtil.formatDateTime(date);
Console.log(formatDateTime);
String formatTime = DateUtil.formatTime(date);
Console.log(formatTime);
}
// 获取Date对象的某个部分
public static void part() {
DateTime date = DateUtil.date();
int year = DateUtil.year(date);
int month = DateUtil.month(date);
int dayOfMonth = DateUtil.dayOfMonth(date);
int dayOfYear = DateUtil.dayOfYear(date);
int weekOfYear = DateUtil.weekOfYear(date);
int weekOfMonth = DateUtil.weekOfMonth(date);
int quarter = DateUtil.quarter(date);
String yearAndQuarter = DateUtil.yearAndQuarter(date);
int second = DateUtil.second(date);
int minute = DateUtil.minute(date);
int hour = DateUtil.hour(date, true);
}
// 开始和结束时间
public static void beginAndEnd() {
String dateStr = "2017-03-01 12:12:12";
Date date = DateUtil.parse(dateStr, "yyyy-MM-dd HH:mm:ss");
DateTime dateTime = DateUtil.beginOfDay(date);
DateTime dateTime1 = DateUtil.endOfDay(date);
Console.log(dateTime);
Console.log(dateTime1);
}
// 时间偏移量
public static void offset() {
String dateStr = "2020-09-01 12:12:12";
Date date = DateUtil.parse(dateStr, "yyyy-MM-dd HH:mm:ss");
DateTime offset = DateUtil.offset(date, DateField.DAY_OF_MONTH, 2);
Console.log(offset);
DateTime offset2 = DateUtil.offset(date, DateField.SECOND, 10);
Console.log(offset2);
DateTime offset3 = DateUtil.offset(date, DateField.YEAR, 2);
Console.log(offset3);
DateTime offset1 = DateUtil.offsetDay(date, 3);
Console.log(offset1);
DateTime dateTime = DateUtil.offsetHour(date, 4);
Console.log(dateTime);
DateTime dateTime1 = DateUtil.offsetWeek(date, 3);
Console.log(dateTime1);
// 针对当前时间,提供了简化的偏移方法(例如昨天、上周、上个月等)
Console.log(DateUtil.yesterday());
Console.log(DateUtil.tomorrow());
Console.log(DateUtil.lastWeek());
Console.log(DateUtil.lastMonth());
Console.log(DateUtil.nextMonth());
Console.log(DateUtil.nextWeek());
}
// 日期时间差
public static void between() {
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);
long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY);
long betweenHour = DateUtil.between(date2, date1, DateUnit.HOUR);
Console.log(betweenDay);
Console.log(betweenHour);
long between = DateUtil.between(date1, date2, DateUnit.MS);
String formatBetweenDay = DateUtil.formatBetween(between, BetweenFormatter.Level.DAY);
String formatBetweenHour = DateUtil.formatBetween(between, BetweenFormatter.Level.HOUR);
Console.log(formatBetweenDay);
Console.log(formatBetweenHour);
}
// 星座、属相、年龄、是否闰年
public static void zodiac() {
String zodiac = DateUtil.getZodiac(Month.JANUARY.getValue(), 19);
Console.log(zodiac);
String chineseZodiac = DateUtil.getChineseZodiac(1994);
Console.log(chineseZodiac);
// int age = DateUtil.ageOfNow(new Date());
int age = DateUtil.ageOfNow("2000-12-10");
Console.log(age);
boolean leapYear = DateUtil.isLeapYear(2000);
Console.log(leapYear);
}
public static void main(String[] args) {
// zodiac();
current(); }
}