时间范围计算校验,是否满足日,周,月,年的条件

package com.cloudjoyclub.saas.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @Copyright 
 * @ClassName TestDate
 * @Description TODO
 * @Author toString
 * @Date 2019/12/18 11:10
 * @Version 1.0
 */
public class TestDate {
    public static void main(String[] args) {
        //String timeStr1= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        String timeStr2="2019-12-18 11:27:00";
        inputDate(timeStr2,"1");
    }

    /**
     * @Author toString
     * @Description 校验时间范围
     * @Date  2019/12/18 11:37
     * @Param timeStr2 需要查询的时间 type 1日 2周 3月 4年
     * @return void
     **/
    public static int inputDate(String timeStr2,String type){
        long day=24*60;
        long week=24*60*7;
        long month=24*60*30;
        long year=24*60*365;
        switch (type){
            case "1":
                long daytime = CalculateTime(timeStr2);
                System.out.println(daytime);
                if(day>daytime){
                    System.out.println("小于一天");
                    return 0;
                }else{
                    System.out.println("大于一天");
                    return 1;
                }
            case "2":
                long weektime = CalculateTime(timeStr2);
                System.out.println(weektime);
                if(week>weektime){
                    System.out.println("小于一周");
                    return 0;
                }else{
                    System.out.println("大于一周");
                    return 1;
                }
            case "3":
                long monthtime = CalculateTime(timeStr2);
                System.out.println(monthtime);
                if(month>monthtime){
                    System.out.println("小于一月");
                    return 0;
                }else{
                    System.out.println("大于一月");
                    return 1;
                }
            case "4":
                long yeartime = CalculateTime(timeStr2);
                System.out.println(yeartime);
                if(year>yeartime){
                    System.out.println("小于一年");
                    return 0;
                }else{
                    System.out.println("大于一年");
                    return 1;
                }
                default:
                    return -1;
        }
    }

    /**
     * @Author toString
     * @Description 时间转换为分钟计算返回分钟差
     * @Date  2019/12/18 11:38
     * @Param time  需要查询的时间
     * @return long 经过的分钟
     **/
    public static long CalculateTime(String time) {
        long nowTime = System.currentTimeMillis(); // 获取当前时间的毫秒数
        String msg = null;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 指定时间格式
        Date setTime = null; // 指定时间
        try {
            setTime = sdf.parse(time); // 将字符串转换为指定的时间格式
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long reset = setTime.getTime(); // 获取指定时间的毫秒数
        long dateDiff = nowTime - reset;
        if (dateDiff < 0) {
            msg = "输入的时间不对";
        } else {
            long dateTemp1 = dateDiff / 1000; // 秒
            long dateTemp2 = dateTemp1 / 60; // 分钟
            return dateTemp2;
        }
        return -1L;
    }


}

/**
 *
 * @param startTime 开始时间
 * @param addDay 添加的天数
 * @param endTime 结束时间
 * @return true为大于 FALSE为小于
 */
public static boolean  equlasDate(String startTime,Integer addDay,String endTime) throws ParseException {
   SimpleDateFormat start = new SimpleDateFormat("yyyy-MM-dd");
   Calendar calendar = new GregorianCalendar();
   calendar.setTime(start.parse(startTime));
   calendar.add(calendar.DATE,addDay);
   Date AddDate =calendar.getTime();

   SimpleDateFormat end = new SimpleDateFormat("yyyy-MM-dd");
   Date endDate = end.parse(endTime);

   return AddDate.getTime()>endDate.getTime();
}

/**
 *
 * @param startTime 开始时间
 * @param addDay 添加的天数
 * @param endTime 结束时间
 * @return true为大于 FALSE为小于或者等于
 * @throws ParseException
 */
public static boolean  equlasDate(Date startTime,Integer addDay,Date endTime) throws ParseException {
   Calendar calendar = new GregorianCalendar();
   calendar.setTime(startTime);
   calendar.add(calendar.DATE,addDay);
   Date AddDate =calendar.getTime();

   return AddDate.getTime()>endTime.getTime();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值