LocalDateTime

/**
 * @Author: ChenQ
 * @Date: 2021/2/23 18:26
 */
public class DateTo {
    public static void main(String[] args) {

        String s = dateToString("yyyy-MM-dd",0);
        System.out.println("方法1: "+s);
        String date = dateToString(new Date(), "yyyy-MM-dd HH:mm:ss");
        System.out.println("方法2: "+date);
    }
    /**
     * <P>获取指定月份时间和指定格式的时间字符串</P>
     * @param timeFormat 时间格式,
     * @param monthsNumber 月份,基本规则和天数一样
     * @return 用处不大
     */
    public static String monthsToString(String timeFormat,Integer monthsNumber) {

        DateTimeFormatter format = DateTimeFormatter.ofPattern(timeFormat);
        LocalDateTime localDateTime = LocalDateTime.now();
        LocalDateTime plus = localDateTime.plus(monthsNumber, ChronoUnit.MONTHS);
        return plus.format(format);
    }
    /**
     * <P>获取指定日期时间和指定格式的时间字符串</P>
     * @param timeFormat 时间格式
     * @param dateNumber 时间天数,以当前日期为准,传入0则获取当前日期,传入负数则是前天时间(负7则前几天),明天是正数,规则与负数一样
     * @return
     */
    public static String dateToString(String timeFormat,Integer dateNumber) {

        DateTimeFormatter format = DateTimeFormatter.ofPattern(timeFormat);
        LocalDateTime localDateTime = LocalDateTime.now();
        LocalDateTime plus = localDateTime.plus(dateNumber, ChronoUnit.DAYS);
        return plus.format(format);
    }

    /**
     * <P>获取指定时间和指定格式的时间字符串</P>
     * @param date 时间参数
     * @param timeFormat 时间格式
     * @return
     */
    public static String dateToString(Date date, String timeFormat) {

        DateTimeFormatter format = DateTimeFormatter.ofPattern(timeFormat);
        Instant instant = date.toInstant();
        ZoneId zone = ZoneId.systemDefault();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
        return localDateTime.format(format);
    }
}
原文地址:https://www.cnblogs.com/ChenQ2/p/15330856.html