Javascript日期加减方法

输入为Date()格式日期,以及要加减的日期数,返回yyyy-MM-dd格式日期:

function AddDate(LISTR_Date,LISTR_AddDays)
 {      
   var LSTR_YY=0;
   var LSTR_MM=0;
   var LSTR_DD=0;
   var LINT_FLAG=0;


   if(LISTR_Date == null) return false;
   LSTR_YY=LISTR_Date.getYear();
   LSTR_MM=LISTR_Date.getMonth()+1;
   LSTR_DD=LISTR_Date.getDate() + LISTR_AddDays;

   while(LINT_FLAG==0)
   {
     switch (LSTR_MM)
     {
       case 2:
        if ((LSTR_YY % 4) != 0)
        {
          if (LSTR_DD > 28)
          {
              LSTR_DD -=28;
            LSTR_MM =3;
        }
        else
        {
          LINT_FLAG=1;
        }
        }
        else 
        {
          if (((LSTR_YY % 100) == 0) && ((LSTR_YY % 400) != 0)) 
          {
            if (LSTR_DD > 28)
            {
              LSTR_DD -=28;
              LSTR_MM =3;
            }
            else
            {
              LINT_FLAG=1;
            }
          }
          else 
          {
            if (LSTR_DD > 29)
            {
              LSTR_DD -=29;
              LSTR_MM =3;
            }
            else
            {
              LINT_FLAG=1;
            }
          }
        }
       break;
     case 4:
     case 6:
     case 9:
     case 11:
       if (LSTR_DD > 30)
       {
         LSTR_DD -=30;
         LSTR_MM +=1;
       }
       else{LINT_FLAG=1;}
       break;
     case 1:
     case 3:
     case 5:
     case 7:
     case 8:
     case 10:
       if (LSTR_DD > 31)
       {
         LSTR_DD -=31;
         LSTR_MM +=1;
       }
       else
       {
         LINT_FLAG=1;
       }
       break;
     case 12:
       if (LSTR_DD > 31)
       {
         LSTR_DD -=31;
         LSTR_MM=1;
         LSTR_YY +=1;
       }
       else
       {
          LINT_FLAG=1;
       }
       break;
     default:
       return;
       break;
    }
   }
   if (LSTR_MM<10)
   {
     LSTR_MM="0" +LSTR_MM;
   }
   if (LSTR_DD<10)
   {
    LSTR_DD="0" +LSTR_DD;
   }
   return LSTR_YY+"-"+LSTR_MM+"-"+LSTR_DD+"";
}

你可能感兴趣的:(JavaScript)