`
nintenyun
  • 浏览: 26168 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaScript 日期判断

阅读更多

function CheckDataValue(txtDateFromClientID, txtDateToClientID)
{
    var txtDateFrom = document.getElementById(txtDateFromClientID);
    var txtDateTo = document.getElementById(txtDateToClientID);
    if (txtDateFrom.value.length == 0 || txtDateTo.value.length==0)
     {
        alert("Please select From date and To date ");
        event.returnValue = false;
        return false;
     }
    
   
       var DateFrom = txtDateFrom.value;
       var DateTo = txtDateTo.value;
       var FromMonth = DateFrom.substring(0,DateFrom.indexOf('/'));
       var FromDay = DateFrom.substring(2, DateFrom.lastIndexOf('/'));
       var FromYear = DateFrom.substring(DateFrom.lastIndexOf('/') + 1, DateFrom.length); 
       
       var ToMonth = DateTo.substring(0,DateTo.indexOf('/'));
       var ToDay = DateTo.substring(2, DateTo.lastIndexOf('/'));
       var ToYear = DateTo.substring(DateTo.lastIndexOf('/') + 1, DateTo.length); 
       if(!(isValidDate(FromDay,FromMonth,FromYear)) || !(isValidDate(ToDay,ToMonth,ToYear)))
       {
          alert("Please ensure that typed dates should be valid");
          event.returnValue = false;
          return false;
       }
       
      var dateDiff = daysBetween(txtDateTo.value, txtDateFrom.value);
       if(dateDiff<0)
       {
           alert("Please ensure that To date should be larger than From date");
                event.returnValue = false;
                return false;
       }
      var newDateFrom = new Date(txtDateFrom.value);
      var newDateTo = new Date(txtDateTo.value);
      //alert(newDateFrom.getMonth()+1);
     // alert(newDateTo.getFullYear());
      //var newMonthFrom = newDateFrom.getMonth()+1;
      //var newMonthTo = newDateTo.getMonth()+1;
      var months = monthDiff(newDateFrom,newDateTo);
      if(months>6)
      {
          alert("Please ensure that the difference should be less than 6 months");
                event.returnValue = false;
                return false;
      }
     
    
   
           
}

function daysBetween(DateOne, DateTwo) {

    var OneMonth = DateOne.substring(0, DateOne.indexOf('/'));
    var OneDay = DateOne.substring(3, DateOne.lastIndexOf('/'));
    var OneYear = DateOne.substring(DateOne.lastIndexOf('/') + 1, DateOne.length);

    var TwoMonth = DateTwo.substring(0, DateTwo.indexOf('/'));
    var TwoDay = DateTwo.substring(3, DateTwo.lastIndexOf('/'));
    var TwoYear = DateTwo.substring(DateTwo.lastIndexOf('/') + 1, DateTwo.length);

    var cha = ((Date.parse(OneMonth + '/' + OneDay + '/' + OneYear) - Date.parse(TwoMonth + '/' + TwoDay + '/' + TwoYear)) / 86400000);
    return cha;
} 
function monthDiff(d1, d2) {
    var months;
    months = (d2.getFullYear() - d1.getFullYear()) * 12;
    months -= d1.getMonth() + 1;
    
    months += d2.getMonth() +1;
    //alert(months);
    return months;
}
function isValidDate(day, month, year) { 
    if (month < 1 || month > 12) { 
            return false; 
        } 
        if (day < 1 || day > 31) { 
            return false; 
        } 
        if ((month == 4 || month == 6 || month == 9 || month == 11) && (day == 31))
        { 
            return false; 
        } 
        if (month == 2) { 
            var leap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 
            if (day>29 || (day == 29 && !leap)) { 
                return false; 
            } 
        } 
        return true; 
    } 
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics