在jquery中,我正在尝试验证日期,但如果低于12,我的日期字段将被视为每月。
test data:
dd/mm/yyyy
from date Value :07/03/2013
to date value :05/06/2013
使用Javascript:
var startdatevalue = $('#txtFromDate').val();
var Todatevalue = $('#txtToDate').val();
if (Todatevalue < startdatevalue) {
alert("To Date should be greater than From Date.");
$('#txtToDate').focus();
return false;
}
虽然comapring条件设置为true,这在我的方案中是错误的。日期更大。 快速解决方案将有所帮助......
答案 0 :(得分:1)
您可以使用jquery datepicker(jquery UI)并执行以下
var startDate = $.datepicker.formatDate('dd/mm/yy', $('#txtFromDate').val());
var endDate= $.datepicker.formatDate('dd/mm/yy', $('#txtToDate').val());
然后在startDate和endDate
上执行你的checn答案 1 :(得分:0)
var startdatevalue = "07/03/2013".split('/');
var todatevalue = "05/06/2013".split('/');
var t=Date.parse(todatevalue[2]+"/"+todatevalue[1]+"/"+todatevalue[0]);
var f=Date.parse(startdatevalue[2]+"/"+startdatevalue[1]+"/"+startdatevalue[0]);
if (f > t) {
console.log("here");
}
答案 2 :(得分:0)
尝试
if (new Date(Todatevalue).getTime() > new Date(startdatevalue).getTime()){
---Things To do----
}
答案 3 :(得分:0)
解决方案1: RegEx;):
var dateString = "30/08/2013";
var reggie = /(\d{4})/(\d{2})/(\d{2})/;
var dateArray = reggie.exec(dateString);
var dateObject = new Date(
(+dateArray[3]),
(+dateArray[2])-1, // Note that month starts at 0!
(+dateArray[1]),
0,
0,
0
);
解决方案2:
var dt = '30/08/2013'.split('/');
var dateObject = new Date(dt[0], dt[1], dt[2], 0, 0, 0);
答案 4 :(得分:0)
我建议使用moment.js来执行日期操作。标准的javascript日期工具有点差。 在这里查看图书馆: http://momentjs.com/