package com.jiayou.wechatofficialaccount.biz.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
public static final String datetime_format = "yyyy-MM-dd HH:mm:ss";
/**
* 在日期上增加数个分钟(n为负数则是减少数分钟)
*/
public static Date addMinute(Date date, int n) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MINUTE, n);
return cal.getTime();
}
/**
* localDate转为Date
* @param localDate
* @return
*/
public static Date asDate(LocalDate localDate) {
return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
}
/**
* LocalDateTime转为Date
* @param localDateTime
* @return
*/
public static Date asDate(LocalDateTime localDateTime) {
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
/**
* 当前日期与date比较
* @param date
* @param n
* @return
*/
public static boolean comparisonTwoDate(Date date, int n){
if (addMinute(date,n).getTime() <= new Date().getTime()){
return true;
}
return false;
}
/**
* 获取指定日期的最后一天
* @param year
* @param month
* @return
*/
public static Date getLastDate(int year,int month) {
// 创建 Calendar 对象并设置为当前时间
Calendar calendar = Calendar.getInstance();
// 将日期设置为需要查询的日期
calendar.set(year, month, 1); // 先设置为第一天
// 调用 add() 方法向后移动一天,得到上个月的最后一天
calendar.add(Calendar.DAY_OF_MONTH, -1);
return calendar.getTime();
}
public static void main(String[] args) throws ParseException {
SimpleDateFormat sf=new SimpleDateFormat(datetime_format);
Date date = sf.parse("2023-07-31 14:40:00");
System.out.println(comparisonTwoDate(date,15));
}
}
DateUtil 工具类
于 2023-07-31 15:22:33 首次发布