hutool的 DateUtil工具类相关方法
public static void main(String[] args) {
// 当前时间
DateTime date = DateUtil.date();
// 2022-12-06 13:36:26
log.info(date.toString());
// 2022-12-06
log.info(date.toDateStr());
// 当前时间
DateTime date1 = DateUtil.date(Calendar.getInstance());
// 2022-12-06 13:38:04
log.info(date1.toString());
// 当前时间
DateTime date2 = DateUtil.date(System.currentTimeMillis());
// 2022-12-06 13:39:03
log.info(date2.toString());
// 当前时间:格式 yyyy-MM-dd HH:mm:ss
String now = DateUtil.now();
// 2022-12-06 13:40:18
log.info(now);
// 当前时间 格式:yyyy-MM-dd
String today = DateUtil.today();
// 2022-12-06
log.info(today);
// parse方法自动识别一些常见的日期格式
DateTime time = DateUtil.parse("2022-11-11 3:2:3");
// 2022-11-11 03:02:03
log.info(time.toString());
DateTime time1 = DateUtil.parse("2022年12月6日 14时23分59秒");
// 2022-12-06 14:23:59
log.info(time1.toString());
// 自定义日期格式:* $
DateTime time2 = DateUtil.parse("2022*12*8 23$4$30", "yyyy*MM*dd HH$mm$ss");
// 2022-12-08 23:04:30
log.info(time2.toString());
// 格式化日期输出
String datef = DateUtil.format(DateUtil.date(), "yyyy年MM月dd日");
// 2022年12月06日
log.info(datef);
DateTime date3 = DateUtil.date();
int year = DateUtil.year(date3);
// 2022年
log.info(year + "年");
// 这里的月份是从0开始的,所以如果现在真实的是12月,那么month = 11
int month = DateUtil.month(date3);
// 12月
log.info(month + 1 + "月");
// 返回的是月份的英文大写(枚举)
Month month1 = DateUtil.monthEnum(date3);
// DECEMBER
log.info(month1.toString());
/**
* 日期偏移
*/
DateTime date4 = DateUtil.parse("2022-12-09 12:00:00");
// 加一天
DateTime date5 = DateUtil.offset(date4, DateField.DAY_OF_MONTH, 1);
// 2022-12-10 12:00:00
log.info(date5.toString());
// 加一年
DateTime date6 = DateUtil.offset(date4, DateField.YEAR, 1);
// 2023-12-09 12:00:00
log.info(date6.toString());
// 加一个星期
DateTime date7 = DateUtil.offset(date4, DateField.WEEK_OF_MONTH, 1);
// 2022-12-16 12:00:00
log.info(date7.toString());
// 加一个星期 与DateField.WEEK_OF_MONTH一样
DateTime date8 = DateUtil.offset(date4, DateField.WEEK_OF_YEAR, 1);
// 2022-12-16 12:00:00
log.info(date8.toString());
String now1 = DateUtil.now();
log.info(now1);
// 昨天
DateTime date9 = DateUtil.yesterday();
log.info(date9.toString());
// 明天
DateTime date10 = DateUtil.tomorrow();
log.info(date10.toString());
// 上周
DateTime date11 = DateUtil.lastWeek();
log.info(date11.toString());
// 下周
DateTime date12 = DateUtil.nextWeek();
log.info(date12.toString());
// 上个月
DateTime date13 = DateUtil.lastMonth();
log.info(date13.toString());
// 下个月
DateTime date14 = DateUtil.nextMonth();
log.info(date14.toString());
/**
* 计算两个日期之间的时间差
* between方法
*/
DateTime date15 = DateUtil.parse("2022-11-20 21:12:00");
DateTime date16 = DateUtil.parse("2022-11-20 00:00:00");
long day = DateUtil.between(date15, date16, DateUnit.DAY);
long hour = DateUtil.between(date15, date16, DateUnit.HOUR);
long minute = DateUtil.between(date15, date16, DateUnit.MINUTE);
long second = DateUtil.between(date15, date16, DateUnit.SECOND);
long millisecond = second * 1000;
log.info(day + "天");
log.info("相差" + hour + "个小时");
log.info("相差" + minute + "分钟");
log.info("相差" + second + "秒");
log.info("相差" + millisecond + "毫秒");
String day1 = DateUtil.formatBetween(date15, date16, BetweenFormatter.Level.DAY);
// 会在后面加个字符串 “天”
log.info(day1);
String hour1 = DateUtil.formatBetween(date15, date16, BetweenFormatter.Level.HOUR);
// 会在后面加个字符串 “小时”
log.info(hour1);
String minute1 = DateUtil.formatBetween(millisecond, BetweenFormatter.Level.MINUTE);
// 21小时12分
log.info(minute1);
/**
* 根据你的生日计算
* 星座
* 属相
*/
String birthday = "1998-11-29 4:30:00";
DateTime date17 = DateUtil.parse(birthday);
int month2 = DateUtil.month(date17);
int realMonth = month2 + 1;
log.info(realMonth + "月");
int day2 = DateUtil.dayOfMonth(date17);
log.info(day2 + "天");
// 星座
String constellation = DateUtil.getZodiac(realMonth, day2);
log.info("我是" + constellation);
// 属相
String ChineseZodiac = DateUtil.getChineseZodiac(DateUtil.year(date17));
log.info("我属" + ChineseZodiac);
// 年龄
int age = DateUtil.ageOfNow(birthday);
log.info(age + "岁了");
// 判断今年是否是闰年
boolean leapYear = DateUtil.isLeapYear(DateUtil.year(DateUtil.date()));
log.info("今年" + (leapYear ? "是" : "不是") + "闰年");
}
转载自:hutool 日期类方法