如何使用javascript将文本框中输入的日期与当前日期进行比较?

时间:2012-07-30 10:01:36

标签: javascript

如何使用java脚本检查文本框中输入的日期是否小于今天的日期?

我正在使用代码

var currentDate_Month = new Date().valueOf().getMonth();
        var currentDate_Date = new Date().getDate();
        var currentDate_Year = new Date().getFullYear();
        var EnterDate_Month = new Date(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value).getMonth();
        var EnterDate_Date = new Date(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value).getDate();
        var EnterDate_Year = new Date(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value).getFullYear();

        if(EnterDate_Year<currentDate_Year) {
          if(EnterDate_Month<currentDate_Month) {
            if(EnterDate_Date<currentDate_Date) {
            }
           }
          }
         else {   
            str += '</br>* Date should be Less than or equals to current Date.';
            return false;
         }

但令我惊讶的是,文本框控件中的当前日期是2014年6月7日星期六查看时 -

new Date(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value).toDateString();

为什么以这种格式返回日期? (文本框中的日期格式为dd / mm / yyyy)

提前感谢。

2 个答案:

答案 0 :(得分:2)

您可以简化代码:

var today = new Date();

var enterDate = new Date(Date.Parse(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived')));

if (enterDate.valueOf() < today.valueOf())
{
    // To what you have to do...
}

答案 1 :(得分:2)

Date()可以初始化为

Date("mm/dd/yyyy")

由于这是采用的方法,因此dd / mm / yyyy的格式是不可能的。您的案例中最好的方法是执行以下操作

dateFields = (document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value.split('/')

date = Date(dateFields[2],dateFields[1]-1, dateFields[0])

这将采用

格式
Date(year, month, date)

然后,您可以将文本框日期与当前日期进行比较

date < Date.now()