日期验证从日期开始

时间:2013-08-30 07:27:29

标签: c# jquery asp.net-mvc kendo-ui

在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,这在我的方案中是错误的。日期更大。 快速解决方案将有所帮助......

5 个答案:

答案 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");
}

http://jsfiddle.net/LdKRF/

虽然请查看http://www.datejs.com/

答案 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/