Operação de adição e subtração do tipo data (super detalhada)

Prefácio
As operações do tipo Data são frequentemente usadas no desenvolvimento diário e também costumam usar dados do tipo Data para operações de adição e subtração. Deixe-me apresentar uma operação de ferramenta mais comum e geral Tipo de data para obter adição e subtração de data

Idea
Converta o tipo Date para o tipo LocalDate, use a própria API do LocalDate para realizar operações de adição e subtração de tempo e, finalmente, converta para o tipo Date para retornar

 
    /**
     * ps:为了直观,将Date类型转换为字符串打印
     *
     * @param args
     */
    public static void main(String[] args) {
    
    
 
        Date date = new Date();
        System.out.println("当前的日期为 = " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date));
 
        // 1.转换为localDate类型
        LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
 
        // 2.日期相加减
        // 添加1天 and 转换为Date日期格式输出
        LocalDate addDayTime = localDate.plusDays(1);
        Date addDay = Date.from(addDayTime.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
        System.out.println("添加一天后的日期为 = " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(addDay));
 
        // 添加1周 and 转换为Date日期格式输出
        LocalDate addWeekTime = localDate.plusWeeks(1);
        Date addWeek = Date.from(addWeekTime.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
        System.out.println("添加一周后的日期为 = " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(addWeek));
 
        // 添加1月 and 转换为Date日期格式输出
        LocalDate addMouthTime = localDate.plusMonths(1);
        Date addMouth = Date.from(addMouthTime.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
        System.out.println("添加一个月的日期为 = " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(addMouth));
 
        // 减少2天 and 转换为Date日期格式输出
        LocalDate minusDayTime = localDate.minusDays(2);
        Date minus2Day = Date.from(minusDayTime.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
        System.out.println("减少两天的日期为 = " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(minus2Day));
 
    }

Acho que você gosta

Origin blog.csdn.net/qq_44543774/article/details/131655212
Recomendado
Clasificación