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

来源:互联网 发布:php隐藏域名跳转代码 编辑:程序博客网 时间:2024/04/30 23:38

//获取选中月的第一天和最后一天
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();
}

0 0
原创粉丝点击