Java 比较两个时间 时分秒 大小

 有时候会有这种需求,客户要求有这么一张表如下:

 在允许时间范围内可以调用这个接口,这个时间段是用户手动配置的,格式是 时分秒。

思路就是获取当时时间 时分秒,转换成秒或者需要的精度,去跟数据库这个时间段相互比较大小,下面是写了一个工具类和测试demo,测试可行,记录一下

/**
	 * 比较两个时间 时分秒 大小
	 * @param s1
	 * @param s2
	 * @return
	 */
	public static boolean compTime(String s1,String s2){
		try {
			if (s1.indexOf(":")<0||s1.indexOf(":")<0) {
				System.out.println("格式不正确");
			}else{
				String[]array1 = s1.split(":");
				int total1 = Integer.valueOf(array1[0])*3600+Integer.valueOf(array1[1])*60+Integer.valueOf(array1[2]);
				String[]array2 = s2.split(":");
				int total2 = Integer.valueOf(array2[0])*3600+Integer.valueOf(array2[1])*60+Integer.valueOf(array2[2]);
				return total1-total2>0?true:false;
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			return true;
		}
		return false;
 
	}
//当前时间   时分秒
						GregorianCalendar calendar = new GregorianCalendar();
						int hour = calendar.get(Calendar.HOUR_OF_DAY);
						int minute  = calendar.get(Calendar.MINUTE);
						int second  = calendar.get(Calendar.SECOND);
						
						String hour_str=String.valueOf(hour);
						String minute_str=String.valueOf(minute);
						String second_str=String.valueOf(second);
						
						String nowTime=hour_str+":"+minute_str+":"+second_str;
						System.out.println("nowTime === " + nowTime);
                       
                        boolean startT= compTime(nowTime,startTime);
						boolean endT= compTime(nowTime,endTime);
						if(startT&&!endT){
							System.out.println("在允许时间范围内 == " + nowTime);
							return true;
						}

 

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hidetou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值