• 判断某个时间点在一个时间段内方法汇总


    方法一

     /**
         * @param strDate      需要判断的时间
         * @param strDateBegin 开始时间
         * @param strDateEnd   结束时间
         * @return
         */
        public boolean isInDates(String strDate, String strDateBegin, String strDateEnd) {
            SimpleDateFormat sd = new SimpleDateFormat("HH:mm:ss");
            Date myDate = null;
            Date dateBegin = null;
            Date dateEnd = null;
            try {
                myDate = sd.parse(strDate);
                dateBegin = sd.parse(strDateBegin);
                dateEnd = sd.parse(strDateEnd);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            strDate = String.valueOf(myDate);
            strDateBegin = String.valueOf(dateBegin);
            strDateEnd = String.valueOf(dateEnd);
    
            int strDateH = Integer.parseInt(strDate.substring(11, 13));
            int strDateM = Integer.parseInt(strDate.substring(14, 16));
            int strDateS = Integer.parseInt(strDate.substring(17, 19));
    
            int strDateBeginH = Integer.parseInt(strDateBegin.substring(11, 13));
            int strDateBeginM = Integer.parseInt(strDateBegin.substring(14, 16));
            int strDateBeginS = Integer.parseInt(strDateBegin.substring(17, 19));
    
            int strDateEndH = Integer.parseInt(strDateEnd.substring(11, 13));
            int strDateEndM = Integer.parseInt(strDateEnd.substring(14, 16));
            int strDateEndS = Integer.parseInt(strDateEnd.substring(17, 19));
    
            if ((strDateH >= strDateBeginH && strDateH <= strDateEndH)) {
                if (strDateH > strDateBeginH && strDateH < strDateEndH) {
                    return true;
                } else if (strDateH == strDateBeginH && strDateM > strDateBeginM && strDateH < strDateEndH) {
                    return true;
                } else if (strDateH == strDateBeginH && strDateM == strDateBeginM && strDateS > strDateBeginS && strDateH < strDateEndH) {
                    return true;
                } else if (strDateH == strDateBeginH && strDateM == strDateBeginM && strDateS == strDateBeginS && strDateH < strDateEndH) {
                    return true;
                } else if (strDateH > strDateBeginH && strDateH == strDateEndH && strDateM < strDateEndM) {
                    return true;
                } else if (strDateH > strDateBeginH && strDateH == strDateEndH && strDateM == strDateEndM && strDateS < strDateEndS) {
                    return true;
                } else if (strDateH > strDateBeginH && strDateH == strDateEndH && strDateM == strDateEndM && strDateS == strDateEndS) {
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        }

    方法二

                         //需要判断的时间
                        Calendar date = Calendar.getInstance();
                        date.setTime(判断的时间);
                        //开始时间
                        Calendar begin = Calendar.getInstance();
                        begin.setTime(开始时间);
                        //结束时间
                        Calendar end = Calendar.getInstance();
                        end.setTime(结束时间);
                        boolean flag = date.after(begin) && date.before(end);             
  • 相关阅读:
    android MotionEvent中getY和getRawY的区别
    Volley之ByteArrayPool
    读懂Volley,必须要理解的几个问题
    Fragment中getContext得到的context从哪来?(基于androidx.fragment:1.2.5源码)
    ViewPager(三)两个熊孩子天生不一样
    ViewPager(二) Adapter的爱恨情仇
    ViewPager(一) 初相识
    Android Volley框架源码详细解析
    Vue-Switch-Demo
    Redis杂化
  • 原文地址:https://www.cnblogs.com/ymxl/p/13322641.html
Copyright © 2020-2023  润新知