关于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'));