您的位置:首页 > Web前端 > JavaScript

js中获取月份和季度的最后一天

2014-09-11 13:45 337 查看
//获取选中月的第一天和最后一天
function getFirstAndLastMonthDay( year, month){ 
 var firstdate = year + '-' + month + '-01';
 var day = new Date(year,month,0);
 var lastdate = year + '-' + month + '-' + day.getDate();//获取当月最后一天日期 
}
//获取选中季度的第一天和最后一天
function getFirstAndLastQuarterDay(year,quarter) {
 if(quarter=="1"){
  var firstdate = year + '-' + 01 + '-01';
  var day = new Date(year,3,0);
  var lastdate = year + '-' + 03 + '-' + day.getDate();//获取第一季度最后一天日期 
 }else if(quarter=="2") {
  var firstdate = year + '-' + 04 + '-01';
  var day = new Date(year,6,0);
  var lastdate = year + '-' + 06 + '-' + day.getDate();//获取第二季度最后一天日期      
 } else if(quarter=="3") {
  var firstdate = year + '-' + 07 + '-01';
  var day = new Date(year,9,0);
  var lastdate = year + '-' + 09 + '-' + day.getDate();//获取第三季度最后一天日期 
 } else if(quarter=="4") {
  var firstdate = year + '-' + 10+ '-01';
  var day = new Date(year,12,0);
  var lastdate = year + '-' + 12 + '-' + day.getDate();//获取第四季度最后一天日期
 }
}

 

 

JS里 面的new Date("xxxx/xx/xx")这个日期的构造方法有一个妙处,

当你传入的是"xxxx/xx/0"(0号)的话,得到的日期是"xx"月的前一个 月的最后一天("xx"月的最大取值是69,题外话),

当你传入的是"xxxx/xx/1"(1号)的话,得到的日期是"xx"月的后一个 月的第一天(自己理解)

如果传入"1999/13/0",会得到"1998/12/31"。而且最大的好处是当你传入"xxxx/3/0",会得到xxxx年2月的最后一天,它会自动判断当年是否是闰年来返回28或29,不用自己判断,

所以,我们想得到选择年选择月有多少天的话,只需要

var temp=new Date("选择年/选择月+1/0");

return temp.getDate()//最大天数

校验的话,也可以用这个方法。

下面是使用JS编写的获取某年某月有多少天的getDaysInMonth(year, month)方法:

function getDaysInMonth(year,month){

      month = parseInt(month,10)+1;

      var temp = new Date(year+"/"+month+"/0");

      return temp.getDate();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js获取月初 月末