2012-09-19 113 views
0

是否有一種相對直接的方式來進行日期比較,使用jquery,格式化日期爲英國?我試圖檢查通過日期輸入字段選擇的天數是否大於或等於設置的數字。很遺憾,我無法更改日期格式,需要使用dd/mm/yy英國日期格式的jQuery日期比較

更新:我一起工作的日期已經在英國格式dd/mm/yy - 我想這個轉換爲可與當前的日期進行比較的格式,發現經過的天數。

工作液:

function checkDaysElapsed (input) { 

       var datePart = input.split("/"); 
       year = datePart[2]; // get only two digits 
       month = datePart[1]; 
       day = datePart[0]; 

       var date1 = new Date(year,month-1,day); 

       var currentTime = new Date(); 
       var month2 = currentTime.getMonth(); 
       var day2 = currentTime.getDate(); 
       var year2 = currentTime.getFullYear(); 
       var date2 = new Date(year2,month2,day2); 
       console.log(year + '/' + month + '/' + day); 
       console.log(year2 + '/' + month2 + '/' + day2); 

       delta = date2 - date1; 
       // delta is the difference in milliseconds 
       delta_in_days = Math.round(delta/1000/60/60/ 24); 

       return delta_in_days; 
     } 

回答

1

後,你必須在正確的日期格式,你還需要將它比作其他日期。爲此,您可能需要將日期字符串轉換爲Date()對象。

另請注意,只要您創建了Date對象,實際格式就不再相關。

首先,你需要的日期分裂成其成分,使用string.split(「/」)

var date1 = new Date(year,month-1,day), 
var date2 = new Date(year2,month2-1,day2); 
delta = date2 - date1; 
// delta is the difference in milliseconds 
delta_in_days = Math.round(delta/1000/60/60/ 24); 
+0

謝謝,設法得到它與你的幫助會 - 增加工作的代碼發佈 – user1153594

-1

你這是怎麼設定的日期格式DD/MM/YY:

$(function() { 
    $(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' }); 
}); 
0

使用這個插件格式中的日期傳遞到通過AJAX服務器準確的日期作儀,formatDate

,並呼籲像這樣

var start = $.format.date($('#startDate').val(), "dd/MM/yyyy"); 
var finish= $.format.date($('#finish').val(), "dd/MM/yyyy"); 

$.ajax({ 
     cache: true, 
     type: 'post', 
     async: false, 
     data: { start: start, finish: finish }, 
     url: '/controller/CheckDates', 
     success: function (msg) { 

      //msg will be the days 

     } 
    }); 

我已經這樣做了,由於從經驗中的不準確,有可能是一個更有效的方式