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;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章