天天看點

java判斷日期是否有重合

package com.example.demo.demo;

import com.example.demo.util.TimeUtils;

import java.util.Date;
import java.util.Scanner;

/**
 * 重合日期
 *
 * @author Meng
 * @Date 2019/1/25 19:50
 */
public class CoinDate {
    public static void main(String[] args) {
        String startStr = "2019-01-25 00:00:00";
        String endStr = "2019-01-28 23:59:59";
        Date startDate = TimeUtils.StrToDate1(startStr);
        Date endDate = TimeUtils.StrToDate1(endStr);

        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入開始時間:");
        String startStrInput = sc.nextLine();
        System.out.println("請輸入結束時間:");
        String endStrInput = sc.nextLine();

        Date startDateInput = TimeUtils.StrToDate1(startStrInput);
        Date endDateInput = TimeUtils.StrToDate1(endStrInput);

        if(startDateInput.getTime()>endDateInput.getTime()){
            System.out.println("參數錯誤");
        }

        if (startDateInput.getTime() < startDate.getTime() && startDate.getTime() < endDateInput.getTime() && endDateInput.getTime() < endDate.getTime()) {
           /* 請輸入開始時間:
            2019-01-22 00:00:00
            請輸入結束時間:
            2019-01-26 23:59:59
            前交叉*/
            System.out.println("前交叉");
        }
        if (startDate.getTime() < startDateInput.getTime() && endDateInput.getTime() < endDate.getTime()) {
            System.out.println("中間交叉");
        }
        if (startDate.getTime()<startDateInput.getTime()&&startDateInput.getTime() < endDate.getTime() && endDate.getTime() < endDateInput.getTime()) {
            System.out.println("後交叉");
        }
        if(startDateInput.getTime()<startDate.getTime()&&endDate.getTime()<endDateInput.getTime()){
            System.out.println("外交叉");
        }
      /*  請輸入開始時間:
        2019-01-22 00:00:00
        請輸入結束時間:
        2019-01-30 23:59:59
        前交叉
        後交叉*/


    }
}           

繼續閱讀