安卓判断是否在两个时间段的范围内

示例一

          Calendar cal = Calendar.getInstance();// 当前日期
                int hour = cal.get(Calendar.HOUR_OF_DAY);// 获取小时
                int minute = cal.get(Calendar.MINUTE);// 获取分钟
                int minuteOfDay = hour * 60 + minute;// 从0:00分开是到目前为止的分钟数
                final int start = 8 * 60 + 30;// 起始时间 8:30的分钟数
                final int end = 18 * 60;// 结束时间 18:00的分钟数
                if (minuteOfDay >= start && minuteOfDay <= end) {
                    System.out.println("在范围内");
                    intent = new 
                } else {
                    System.out.println("在范围外");

                }

示例二 利用before 和 after

before true如果Date对象在when表示的时刻之前,否则为false。

      Date date = new Date(17, 5, 21);
      boolean before = date2.before(date);
      System.out.println("Date 2 is before date: " + before);

java.util.Calendar.after()
true如果此Calendar表示的时间是当对象所表示的时间之后;否则为false。


      Calendar cal = Calendar.getInstance();
      Calendar future = Calendar.getInstance();

      System.out.println("Current date: " + cal.getTime());

      future.set(Calendar.YEAR, 2015);
      System.out.println("Year is " + future.get(Calendar.YEAR));

      Date time = future.getTime();
      if (future.after(cal)) {
         System.out.println("Date " + time + " is after current date.");
      }

示例三

SimpleDateFormat formatters = new SimpleDateFormat("HH:mm");
        Date curDates = new Date(System.currentTimeMillis());// 获取当前时间
        String strs = formatters.format(curDates);
        System.out.println(strs);
        //开始时间
        int sth = 17;//小时
        int stm = 20;//秒
        //结束时间 
        int eth = 19;//小时
        int etm = 00;//秒

        String[] dds = new String[] {};

        // 分取系统时间 小时分
        dds = strs.split(":");
        int dhs = Integer.parseInt(dds[0]);
        int dms = Integer.parseInt(dds[1]);

        if (sth <= dhs && dhs <= eth) {
            if (sth == dhs && stm >= dms) {
                System.out.println("在范围内");
            } else if (dhs == eth && etm <= dms) {
                System.out.println("在范围内");
            } else {
                System.out.println("在范围外");
            }
        } else {
            System.out.println("在范围外");
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值