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

来源:互联网 发布:深圳海关数据分中心 编辑:程序博客网 时间:2024/05/17 05:18

 项目新增需求需要在每天指定的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;  
}  
}

1 0
原创粉丝点击