$(document).ready(function () {
//獲取單元格值改變事件不需要獲取焦點
//備注:可以換成 $(".CheckCountLen").bind("blur", function () {
$("#butOK").bind("click", function () {
//判斷開始時間和結束時間
var strStartTime = $("#fStarttime").val();
var endTime = $("#fEndtime").val();
if (strStartTime == "" || endTime == "") {
$("#DifDay").val(0);
}
else {
var startNum = parseInt(strStartTime.replace(/-/g, ''), 10);
var endNum = parseInt(endTime.replace(/-/g, ''), 10);
if (startNum > endNum) {
alert("結束時間不能在開始時間之前!");
}
else {
$("#DifDay").val(DateDiff(strStartTime, endTime)); //調用/計算兩個日期天數差的函數,通用
}
}
});
//根據填寫相差天數獲取結束日期
$("#butOK1").bind("click", function () {
//判斷開始時間和結束時間
var strStartTime = $("#fStarttime").val();
var inputNum = $("#inputNum").val(); //獲取相差天數
if (strStartTime != "") {
}
$("#fEndtime").val(addByTransDate(strStartTime, inputNum)); //根據指定的一個日期和相差的天數,獲取另外一個日期
});
});
////////////////////////////////////////////////////////////////////////////////////////////
//計算兩個日期天數差的函數,通用
////////////////////////////////////////////////////////////////////////////////////////////
function DateDiff(sDate1, sDate2) { //sDate1和sDate2是yyyy-MM-dd格式
var aDate, oDate1, oDate2, iDays;
aDate = sDate1.split("-");
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]); //轉換為yyyy-MM-dd格式
aDate = sDate2.split("-");
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒數轉換為天數
return iDays; //返回相差天數
}
////////////////////////////////////////////////////////////////////////////////////////////
//根據指定的一個日期和相差的天數,獲取另外一個日期
//dateParameter為指定已經存在的日期yyyy-MM-dd num為相差天數為整型
////////////////////////////////////////////////////////////////////////////////////////////
function addByTransDate(dateParameter, num) {
var translateDate = "", dateString = "", monthString = "", dayString = "";
translateDate = dateParameter.replace("-", "/").replace("-", "/"); ;
var newDate = new Date(translateDate);
newDate = newDate.valueOf();
newDate = newDate + num * 24 * 60 * 60 * 1000; //備注 如果是往前計算日期則為減號 否則為加號
newDate = new Date(newDate);
//如果月份長度少於2,則前加 0 補位
if ((newDate.getMonth() + 1).toString().length == 1) {
monthString = 0 + "" + (newDate.getMonth() + 1).toString();
} else {
monthString = (newDate.getMonth() + 1).toString();
}
//如果天數長度少於2,則前加 0 補位
if (newDate.getDate().toString().length == 1) {
dayString = 0 + "" + newDate.getDate().toString();
} else {
dayString = newDate.getDate().toString();
}
dateString = newDate.getFullYear() + "-" + monthString + "-" + dayString;
return dateString;
}