java后台与jsp页面计算两个日期之间天数

java后台与jsp页面计算两个日期之间天数

很多时候页面会涉及到关于时间的计算。
计算时间差,判断是否超时等等。下面我给大家两个很好用的计算时间的代码。前台和后台都有。
前台代码:
下面是根据id获取日期框的值。日期框一般会使用日期控件。

if($("#TIME_START").val() !="" && $("#TIME_END").val() !=""){
				end_str = $("#TIME_END").val().replace(/-/g,"/");//一般得到的时间的格式都是:yyyy-MM-dd hh24:mi:ss,所以我就用了这个做例子,是/的格式,就不用replace了。  
				var end_date = new Date(end_str);//将字符串转化为时间  
				sta_str = $("#TIME_START").val().replace(/-/g,"/");  
				var sta_date = new Date(sta_str);  
				var num = (end_date-sta_date)/(1000*3600*24);//求出两个时间的时间差,这个是天数  
				var num2 = (sta_date-end_date)/(1000*3600);//求出两个时间的时间差,这个是小时
				var days = parseInt(Math.ceil(num));//转化为整天(小于零的话就不用转了) 
				if(days<=0){
					$("#TIME_END").tips({
						side:3,
			            msg:'结束时间不能小与开始时间',
			            bg:'#AE81FF',
			            time:2
			        });
					$("#TIME_END").focus();
				}
			}
		}

下面是后台代码计算时间差:
这是一个static的方法,可以直接调用,只需要传入两个String类型的时间参数即可。返回的就是两个时间的时间差。会有负值。

public static Long between_days(String a, String b) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");// 自定义时间格式
        Calendar calendar_a = Calendar.getInstance();// 获取日历对象
        Calendar calendar_b = Calendar.getInstance();
        Date date_a = null;
        Date date_b = null;
        try {
            date_a = simpleDateFormat.parse(a);//字符串转Date
            date_b = simpleDateFormat.parse(b);
            calendar_a.setTime(date_a);// 设置日历
            calendar_b.setTime(date_b);
        } catch (ParseException e) {
            e.printStackTrace();//格式化异常
        }
        long time_a = calendar_a.getTimeInMillis();
        long time_b = calendar_b.getTimeInMillis();
        long between_days = (time_b - time_a) / (1000 * 3600 * 24);//计算相差天数
        return between_days;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章