【问题标题】:Comparing dates in jquery比较jquery中的日期
【发布时间】:2011-06-27 09:45:42
【问题描述】:

我有以下代码,虽然我有01-Jan-2009 对应DateTo03-Jan-2009 对应DateFrom,但它读取的值是NAN。我错过了什么吗?我参考了

 var DateToValue = $("#DateTo").val();
      var DateFromValue = $("#DateFrom").val();

      if (Date.parse(DateToValue) <= Date.parse(DateFromValue)) {
          $("#DateFrom").val(DateToValue)
      }
  <script src="@Url.Content("~/Scripts/jquery-1.4.2.min.js")"
 type="text/javascript"></script>

 <script  src="@Url.Content("~/Scripts/jquery.datePicker.js")"
type="text/javascript"></script>

         <script src="@Url.Content("~/Scripts/jquery.validate.js")"
 type="text/javascript"></script>

【问题讨论】:

    标签: jquery date-comparison


    【解决方案1】:

    这个怎么样?

      DateTime DateToValue = $("#DateTo").val();
      DateTime DateFromValue = $("#DateFrom").val();
    
      if (Date.parse(DateToValue) <= Date.parse(DateFromValue)) {
          $("#DateFrom").val(DateToValue)
      }
    

    【讨论】:

      【解决方案2】:

      简单的方法是

       var start= new Date($('#txtstart').val());
       var end= new Date($('#txtend').val());
                  if (start < end) {
      
                  }
      

      【讨论】:

        【解决方案3】:

        使用 DateJS 解析您的日期。 http://www.datejs.com/ 只需将脚本包含在您的 html 中即可。

        【讨论】:

          【解决方案4】:

          我与当前日期的比较

              function isPastDate(dateText) {
          // date is dd/mm/yyyy
                  var inputDate = dateText.split("/");
                  var today = new Date();
                  inputDate = new Date(inputDate[2], inputDate[1] - 1, inputDate[0], 0, 0, 0, 0);
                  today = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0, 0);
                  return inputDate < today;
          };
          

          【讨论】:

            【解决方案5】:

            我认为我的回答迟了,告诉我它是否更好,因为只有在 v1.10 中这对我有用:

            if($('#DateTo').val().split("/").reverse().join("") <= 
            $('#DateFrom').val().split("/").reverse().join("")){//Do something}
            

            【讨论】:

              【解决方案6】:

              您可以使用下面的代码来解析日期,使用毫秒方法(添加一天中存在的毫秒)对于夏令时将无法正常工作。

              for ( beginDate= new Date(startDate.getTime()); beginDate.getTime()<=endDate.getTime(); beginDate.setDate(beginDate.getDate() + 1)) {
                          dateRangeArray.push(new Date(beginDate.getTime()));
                      }
              

              【讨论】:

                【解决方案7】:

                这里有一个简单的java脚本的简化方法

                <script>
                 //get the values
                function asdf(){
                var fDate=document.forms[0].fromDate.value;
                var tDate=document.forms[0].toDate.value;
                
                //Compare
                
                if(fDate>tDate){
                        var dateComponentsfrom = fDate.split("/");
                
                //split and convert into date to be more precise
                
                        var fromdate = new Date(dateComponentsfrom[2], dateComponentsfrom[1] - 1, dateComponentsfrom[0]);
                        var dateComponentsto = tDate.split("/");
                        var todate = new Date(dateComponentsto[2], dateComponentsto[1] - 1, dateComponentsto[0]);
                        if(fromdate>todate){
                            alert('from date cannot be greater than to date');
                            return false;                        
                        }
                    }
                }
                </script>
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-01-04
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多