javascript应用之获得年、月、季、周的最后一天

应用描述:

根据输入的类别参数,“年”,“月”,“季”,“周”分别获得每年最后一天,每个月最后一天,每个季度最后一天,每周最后一天。

Javascript如下:

<script>
function getLastDay(str,param){
//**************************
//编写: 邬畏畏
//日期: 2013-5
//**************************
 var p = param;
 var y = p.getYear();
 var m = p.getMonth();
 var d = p.getDate();
 var j ;
 if(str=="月")
 {
  return y+"-"+m+"-"+getD(y,m);
 }
 if(str=="年")
 {
  return y+"-"+12+"-"+getD(y,m);
 }
 if(str=="季")
 {
  if(m==0)
  {j=12;}
  else
  {j = getM(m);}
  return y+"-"+j+"-"+getD(y,j);
 }
 if(str=="周")
 {
  return y+"-"+m+"-"+getW(d);
 }
 
 function getD(y,m)  //得到某个月最后一天,result:31 or 30 or 29|28
 {
 switch(y,m)
 {
  case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:
  case 12:
   return 31;
  break;
  case 2:
   if(y%4==0 && y%100!=0 || y%400==0)
    return 29;
   else
    return 28;
   break;

  default:
   return 30;
 }
 }
 function getM(r){ //得到季度的最后一个月 ,比如:r=4 or 5 or 6 ,result:6    单位是月
  var mm=r;
  if(m%3==0)
  {
   return mm;
  }
  else if(mm%3==2)
   return mm+1;
  else(mm%3==1)
   return mm+2;
 }
 function getW(d){     //得到周某,如:2013-5-12 ,得到 2013年5月12日的本周周日是多少
  var _d = new Date(y,m-1,d);
  var week = _d.getDay();
  return d + (7-week);
 }
}

mydate = getLastDay("周",new Date(2013,5,23));

alert(mydate);

</script>

 

 

posted @ 2013-05-13 16:24  翱翔软件  阅读(267)  评论(0编辑  收藏  举报

欢迎访问翱翔软件