[英]jquery date comparison for uk date format
有沒有一種相對簡單的方法,可以使用jquery
在英國格式的日期上進行日期比較? 我正在嘗試檢查通過日期輸入字段選擇的天數是否大於或等於設置的數字。 不幸的是,我無法更改日期格式,需要使用dd/mm/yy
。
更新 :我正在使用的日期已經是英國格式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;
}
日期以正確的格式顯示后,您還需要將其與其他日期進行比較。 為此,您可能需要將日期字符串轉換為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);
使用此插件格式化日期以通過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
}
});
由於經驗上的不正確,我已經這樣做了,可能會有更有效的方法
這是將日期格式設置為dd / mm / yy的方式:
$(function () {
$(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.