java 判断一个时间段是否在另外一个时间段之内

简介 场景描述:时间段范围内图示:代码:public String judge(Date date1, Date date2, Date startTime, Date endDate) {  if(date1 == null || date2&

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

场景描述:


时间段范围内图示:


d3a0ef05da61c1932504d87511d0a1f9.png


代码:

功能一:只判断是否在时间段内

public static String judge(Date date1, Date date2, Date StartTime, Date EndDate) {
        long d1 = date1.getTime();
        long d2 = date2.getTime();
        long v = d2 - d1;
        long start = StartTime.getTime();
        long end = EndDate.getTime();
        if (((d1 - start) <= 0) && ((end - d2) <= 0) ||
                ((d2 - start) >= 0) && ((d1 - end) <= 0)
                ){
            return "包含";
        }
            return "不包含";
    }

测试代码:

public static void main(String[] args) throws ParseException {
        
        String d1 = "2022-04-26";
        String d2 = "2022-04-28";
        String d3 = "2022-04-24";
        String d4 = "2022-04-27";

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        //时间段1
        Date date1 = formatter.parse(d1);
        Date date2 = formatter.parse(d2);

        //时间段2
        Date date3 = formatter.parse(d3);
        Date date4 = formatter.parse(d4);
        //判断是否时间段1包含时间段2
        String i = judge(date1, date2, date3, date4);
        System.out.println(i);
    }


功能二:同时判断是否在2个小时时间段内:

public String judge(Date date1, Date date2, Date startTime, Date endDate) {
  if(date1 == null || date2 == null || startTime == null || endDate == null) 
    return "数据不能为空";

  long d1 = date1.getTime();
  long d2 = date2.getTime();
  long v = d2-d1;
  long start = startTime.getTime();
  long end = endDate.getTime();
  if (((d1 - start) >0) && ((end - d2) >0))
  	return "date1-date2 在起始至结束的区间内";
  else if ( v > 7200000)  //2小时等于 7200000毫秒
  	return "date1-date2 不在起始至结束的区间内,但 这个时间段大于2个小时 ";

  	return "date1-date2 不在起始至结束的区间内,并且 这个时间段小于2个小时";
  }




TopTop