[英]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.