java判断一个时间戳是否在指定时间范围内的方法

 项目新增需求需要在每天指定的4个时间段给用户提示参加活动,当前时间为服务段返回的.


当天的很简单,直接对比两个时间(long型)大小就可以了,但是要求是每天都要执行.因此就需要针对时间戳进行字符转换和


截取操作后进行比较了,初开始分别对时分秒进行截取依次比较,也能实现,但发现判断起来太麻烦了,后来想想其实可以整体一起截取 


然后转成整型再比较大小更简洁,特此记录下:

/** 
* 判断时间是否在时间段内 
*  
* @param date 
*            当前时间 yyyy-MM-dd HH:mm:ss 
* @param strDateBegin 
*            开始时间 00:00:00 
* @param strDateEnd 
*            结束时间 00:05:00 
* @return 
*/  
public static boolean isInDate(Date date, String strDateBegin,String strDateEnd) {  
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ENGLISH);  
String strDate = sdf.format(date);   //2016-12-16 11:53:54
// 截取当前时间时分秒 转成整型
int  tempDate=Integer.parseInt(strDate.substring(11, 13)+strDate.substring(14, 16)+strDate.substring(17, 19));  
// 截取开始时间时分秒  转成整型
int  tempDateBegin=Integer.parseInt(strDateBegin.substring(0, 2)+strDateBegin.substring(3, 5)+strDateBegin.substring(6, 8));  
// 截取结束时间时分秒  转成整型
int  tempDateEnd=Integer.parseInt(strDateEnd.substring(0, 2)+strDateEnd.substring(3, 5)+strDateEnd.substring(6, 8));

if ((tempDate >= tempDateBegin && tempDate <= tempDateEnd)) {  
return true;  
} else {  
return false;  
}  
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值