日期:2014-05-20  浏览次数:20636 次

关于js中日期函数问题
从前台传过值为yyyymm格式 现在我在js中要得到这个月份的第一天和最后一天 然后分别再用第一天和最后一天去执行oracle中的add_months函数 这个add_months函数要自己在js中去实现同样的功能 得到的才是组后想要的数值
比如 jsp界面传过为201212 六位的String 我在js中要得到它可以这样写
  var indexcalno= fm.all('indexcalnno').value
然后怎么它的第一天和最后一天呢 确保得到的就是20121201 和20121231
select add_months('201201',-25) from dual;最后得到的就是startdate 同样道理是enddate
现在的问题是我怎么样得到第一天 和最后一天 还有就是在js中完成类似于add—months的功能最终完成 前台输入YYYYMM格式的日期字符串  然后得到日期的第一天和最后一天 然后在js中执行类似于oracle的add-months函数 最终得到startdate 和enddate 写出部分代码 但是总出问题  小弟信任 希望大神赐教!!!!!
         function getLastDay(year,month) {         
              var new_year = year;    //取当前的年份          
              var new_month = month++;//取下一个月的第一天,方便计算(最后一天不固定)          
              if(month>12) {         
               new_month -=12;        //月份减          
               new_year++;            //年份增          
              }         
              var new_date = new Date(new_year,new_month,1);                //取当年当月中的第一天          
              return (new Date(new_date.getTime()-1000*60*60*24)).getDate();//获取当月最后一天日期          
         } 

------解决方案--------------------
引入XDate.JS 这个小插件,不知道的百度谷歌吧

代码如下:

var firstDate = new Date();

firstDate.setDate(1); //第一天

var endDate = new Date(firstDate);

endDate.setMonth(firstDate.getMonth()+1);

endDate.setDate(0);

alert("第一天:"+new XDate(firstDate).toString('yyyy-MM-dd')+" 最后一天:"+new XDate(endDate).toString('yyyy-MM-dd'));