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;
}