import org.apache.commons.lang.StringUtils; import java.time.LocalDate; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.Date; /** * LocalDate 工具类 * @author zsw * @date 2021-03-16 18:43 */ public class LocalDateUtils { /** * 计算当前日期与{@code endDate}的间隔天数 * * @param endDate * @return 间隔天数 */ public static long localDateCompare(LocalDate endDate){ return LocalDate.now().until(endDate, ChronoUnit.DAYS); } /** * 计算日期{@code startDate}与{@code endDate}的间隔天数 * * @param startDate * @param endDate * @return 间隔天数 */ public static long localDateCompare(LocalDate startDate, LocalDate endDate){ return startDate.until(endDate, ChronoUnit.DAYS); } /** * 字符串转换成日期 * @param strDate 日期字符串 * @param pattern 日期的格式 */ public static LocalDate stringToLocalDate(String strDate, String pattern) { if (StringUtils.isBlank(strDate)){ return null; } DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern); return LocalDate.parse(strDate, fmt); } /** * Date转LocalDate * @param date */ public static LocalDate dateToLocalDate(Date date) { if(null == date) { return null; } return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); } }