Newer
Older
casic-metering / casic-metering-common / src / main / java / com / casic / missiles / utils / DateUtils.java
package com.casic.missiles.utils;

import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

/**
 * @Description: 日期辅助工具类
 * @Author: wangpeng
 * @Date: 2023/6/14 10:25
 */
public class DateUtils {
    private static final String DATE_PATTERN = "yyyy-MM-dd";
    private static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss";

    /**
     * 获取两个日期相差的天数
     * @param startDate
     * @param endDate
     * @return
     */
    public static long subDaysByDateTime(String startDate, String endDate) {
        long sub;
        try {
            DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DATETIME_PATTERN);
            LocalDateTime start = LocalDateTime.parse(startDate, dateTimeFormatter);
            LocalDateTime end = LocalDateTime.parse(endDate, dateTimeFormatter);
            sub = Duration.between(start, end).toDays();
        } catch (DateTimeParseException e) {
            sub = -1;
        }
        return sub;
    }

    /**
     * 获取两个日期相差的天数
     * @param startDate
     * @param endDate
     * @return
     */
    public static long subDaysByDate(String startDate, String endDate) {
        long sub;
        try {
            DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DATE_PATTERN);
            LocalDate start = LocalDate.parse(startDate, dateTimeFormatter);
            LocalDate end = LocalDate.parse(endDate, dateTimeFormatter);
            sub = Duration.between(LocalDateTime.of(start, LocalTime.of(0,0,0)),
                    LocalDateTime.of(end, LocalTime.of(0,0,0))).toDays();
        } catch (DateTimeParseException e) {
            sub = -1;
        }
        return sub;
    }

}