日期,时间工具类--基于JDK1.8

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

/**
 * @Author JavaAlpha
 * @Description 日期,时间工具类--基于JDK1.8
 * @Date 2019/9/29 0029 下午 2:12
 * @Version 1.0
 */
public class DateUtil {
    private static final DateTimeFormatter YMD = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    private static final DateTimeFormatter YMDHM = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
    private static final DateTimeFormatter YMDHMS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    private static final DateTimeFormatter YMDHMSS = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
    private static final DateTimeFormatter YMDHMSF = DateTimeFormatter.ofPattern("yyMMddHHmmssSSSXXX");


  public static void main(String[] args) {

      LocalDateTime start = LocalDateTime.now();
      LocalDateTime end = LocalDateTime.of(2019, 9, 29, 14, 30, 00);
      StringBuilder sb = new StringBuilder();
      sb.append(start).append("==");
      sb.append(end);
        System.out.println(sb.toString() + ",相差毫秒:"+ timeBetweenMilli(start, end));
        System.out.println(sb.toString() + ",相差秒:"+ timeBetweenSecond(start, end));
        System.out.println(sb.toString() + ",相差分钟:"+ timeBetweenMinute(start, end));
        System.out.println(sb.toString() + ",相差小时:"+ timeBetweenHour(start, end));
        System.out.println(sb.toString() + ",相差天:"+ daysBetweenDay(start, end));
  }

    /**
     * 返回当前的日期
     * @return
     */
    public static LocalDate getCurrentLocalDate() {
        return LocalDate.now();
    }

    /**
     * 返回当前时间
     * @return
     */
    public static LocalTime getCurrentLocalTime() {
        return LocalTime.now();
    }

    /**
     * 返回当前日期时间
     * @return
     */
    public static LocalDateTime getCurrentLocalDateTime() {
        return LocalDateTime.now();
    }
  
    /**
     * 计算两个日期之间相差的毫秒数
     * @param minDate 较小的时间
     * @param maxDate 较大的时间
     * @return 相差秒数
     */
    public static long timeBetweenMilli(LocalDateTime minDate, LocalDateTime maxDate) {
        Duration duration = Duration.between(minDate, maxDate);
        return duration.toMillis();
    }
  
    /**
     * 计算两个日期之间相差的秒数
     * @param minDate 较小的时间
     * @param maxDate 较大的时间
     * @return 相差秒数
     */
    public static long timeBetweenSecond(LocalDateTime minDate, LocalDateTime maxDate) {
        Duration duration = Duration.between(minDate, maxDate);
        return duration.getSeconds();
    }

    /**
     * 计算两个日期之间相差的分钟数
     * @param minDate 较小的时间
     * @param maxDate 较大的时间
     * @return 相差分钟数
     */
    public static long timeBetweenMinute(LocalDateTime minDate, LocalDateTime maxDate) {
        Duration duration = Duration.between(minDate, maxDate);
        return duration.toMinutes();
    }

    /**
     * 计算两个日期之间相差的小时数
     * @param minDate 较小的时间
     * @param maxDate 较大的时间
     * @return 相差小时数
     */
    public static long timeBetweenHour(LocalDateTime minDate, LocalDateTime maxDate) {
        Duration duration = Duration.between(minDate, maxDate);
        return duration.toHours();
    }

    /**
     * 计算两个日期之间相差的天数
     * @param minDate 较小的时间
     * @param maxDate 较大的时间
     * @return 相差天数
     */
    public static long daysBetweenDay(LocalDateTime minDate, LocalDateTime maxDate){
        Duration duration = Duration.between(minDate, maxDate);
        return duration.toDays();
    }

    /**
     * 判断日期是否相等
     * @Param [dateA, dateB]
     * @return boolean
     **/
    public static boolean dateEquals(LocalDateTime dateA, LocalDateTime dateB){
        return dateA.equals(dateB);
    }
}

 

Guess you like

Origin blog.csdn.net/JavaAlpha/article/details/101768670