js獲取時間大全

[javascript]

 

var MrYangUtil=function(){ 

    

   this.getCurrentDate=function(){ 

       return new Date(); 

   }; 

    

   this.getCurrentWeek=function(){ 

       //起止日期數組  

       var startStop=new Array(); 

       //獲取當前時間  

       var currentDate=this.getCurrentDate(); 

       //返回date是一周中的某一天  

       var week=currentDate.getDay(); 

       //返回date是一個月中的某一天  

       var month=currentDate.getDate(); 

       //一天的毫秒數  

       var millisecond=1000*60*60*24; 

       //減去的天數  

       var minusDay=week!=0?week-1:6; 

       //alert(minusDay);  

       //本周 周一  

       var monday=newDate(currentDate.getTime()-(minusDay*millisecond)); 

       //本周 周日  

       var sunday=newDate(monday.getTime()+(6*millisecond)); 

       //添加本周時間  

       startStop.push(monday);//本周起始時間  

       //添加本周最後一天時間  

       startStop.push(sunday);//本周終止時間  

       //返回  

       return startStop; 

   }; 

    

   this.getCurrentMonth=function(){ 

       //起止日期數組  

       var startStop=new Array(); 

       //獲取當前時間  

       var currentDate=this.getCurrentDate(); 

       //獲得當前月份0-11  

       var currentMonth=currentDate.getMonth(); 

       //獲得當前年份4位年  

       var currentYear=currentDate.getFullYear(); 

       //求出本月第一天  

       var firstDay=newDate(currentYear,currentMonth,1); 

       //當為12月的時候年份需要加1  

       //月份需要更新為0 也就是下一年的第一個月  

       if(currentMonth==11){ 

           currentYear++; 

           currentMonth=0;//就為  

       }else{ 

           //否則隻是月份增加,以便求的下一月的第一天  

           currentMonth++; 

       } 

       //一天的毫秒數  

       var millisecond=1000*60*60*24; 

       //下月的第一天  

       var nextMonthDayOne=newDate(currentYear,currentMonth,1); 

       //求出上月的最後一天  

       var lastDay=newDate(nextMonthDayOne.getTime()-millisecond); 

       //添加至數組中返回  

       startStop.push(firstDay); 

       startStop.push(lastDay); 

       //返回  

       return startStop; 

   }; 

    

   this.getQuarterSeasonStartMonth=function(month){ 

       var quarterMonthStart=0; 

       var spring=0; //春  

       var summer=3; //夏  

       var fall=6;  //秋  

       var winter=9;//冬  

       //月份從0-11  

       if(month<3){ 

           return spring; 

       } 

       if(month<6){ 

           return summer; 

       } 

       if(month<9){ 

           return fall; 

       } 

       return winter; 

   }; 

    

   this.getMonthDays=function(year,month){ 

       //本月第一天 1-31  

       var relativeDate=new Date(year,month,1); 

       //獲得當前月份0-11  

       var relativeMonth=relativeDate.getMonth(); 

       //獲得當前年份4位年  

       varrelativeYear=relativeDate.getFullYear(); 

       //當為12月的時候年份需要加1  

       //月份需要更新為0 也就是下一年的第一個月  

       if(relativeMonth==11){ 

           relativeYear++; 

           relativeMonth=0; 

       }else{ 

           //否則隻是月份增加,以便求的下一月的第一天  

           relativeMonth++; 

       } 

       //一天的毫秒數  

       var millisecond=1000*60*60*24; 

       //下月的第一天  

       var nextMonthDayOne=newDate(relativeYear,relativeMonth,1); 

       //返回得到上月的最後一天,也就是本月總天數  

       return newDate(nextMonthDayOne.getTime()-millisecond).getDate(); 

   }; 

    

   this.getCurrentSeason=function(){ 

       //起止日期數組  

       var startStop=new Array(); 

       //獲取當前時間  

       var currentDate=this.getCurrentDate(); 

       //獲得當前月份0-11  

       var currentMonth=currentDate.getMonth(); 

       //獲得當前年份4位年  

       var currentYear=currentDate.getFullYear(); 

       //獲得本季度開始月份  

       varquarterSeasonStartMonth=this.getQuarterSeasonStartMonth(currentMonth); 

       //獲得本季度結束月份  

       varquarterSeasonEndMonth=quarterSeasonStartMonth+2; 

       //獲得本季度開始的日期  

       var quarterSeasonStartDate=newDate(currentYear,quarterSeasonStartMonth,1); 

       //獲得本季度結束的日期  

       var quarterSeasonEndDate=newDate(currentYear,quarterSeasonEndMonth,this.getMonthDays(currentYear,quarterSeasonEndMonth)); 

       //加入數組返回  

       startStop.push(quarterSeasonStartDate); 

       startStop.push(quarterSeasonEndDate); 

       //返回  

       return startStop; 

   }; 

    

   this.getCurrentYear=function(){ 

       //起止日期數組  

       var startStop=new Array(); 

       //獲取當前時間  

       var currentDate=this.getCurrentDate(); 

       //獲得當前年份4位年  

       var currentYear=currentDate.getFullYear(); 

       //本年第一天  

       var currentYearFirstDate=newDate(currentYear,0,1); 

       //本年最後一天  

       var currentYearLastDate=newDate(currentYear,11,31); 

       //添加至數組  

       startStop.push(currentYearFirstDate); 

       startStop.push(currentYearLastDate); 

       //返回  

       return startStop; 

   }; 

    

   this.getPriorMonthFirstDay=function(year,month){ 

       //年份為0代表,是本年的第一月,所以不能減  

       if(month==0){ 

           month=11;//月份為上年的最後月份  

           year–;//年份減1  

           return new Date(year,month,1); 

       } 

       //否則,隻減去月份  

       month–; 

       return new Date(year,month,1);; 

   }; 

    

   this.getPreviousMonth=function(){ 

       //起止日期數組  

       var startStop=new Array(); 

       //獲取當前時間  

       var currentDate=this.getCurrentDate(); 

       //獲得當前月份0-11  

       var currentMonth=currentDate.getMonth(); 

       //獲得當前年份4位年  

       var currentYear=currentDate.getFullYear(); 

       //獲得上一個月的第一天  

       varpriorMonthFirstDay=this.getPriorMonthFirstDay(currentYear,currentMonth); 

       //獲得上一月的最後一天  

       var priorMonthLastDay=newDate(priorMonthFirstDay.getFullYear(),priorMonthFirstDay.getMonth(),this.getMonthDays(priorMonthFirstDay.getFullYear(),priorMonthFirstDay.getMonth())); 

       //添加至數組  

       startStop.push(priorMonthFirstDay); 

       startStop.push(priorMonthLastDay); 

       //返回  

       return startStop; 

   }; 

    

   this.getPreviousWeek=function(){ 

       //起止日期數組  

       var startStop=new Array(); 

       //獲取當前時間  

       var currentDate=this.getCurrentDate(); 

       //返回date是一周中的某一天  

       var week=currentDate.getDay(); 

       //返回date是一個月中的某一天  

       var month=currentDate.getDate(); 

       //一天的毫秒數  

       var millisecond=1000*60*60*24; 

       //減去的天數  

       var minusDay=week!=0?week-1:6; 

       //獲得當前周的第一天  

       var currentWeekDayOne=newDate(currentDate.getTime()-(millisecond*minusDay)); 

       //上周最後一天即本周開始的前一天  

       var priorWeekLastDay=newDate(currentWeekDayOne.getTime()-millisecond); 

       //上周的第一天  

       var priorWeekFirstDay=newDate(priorWeekLastDay.getTime()-(millisecond*6)); 

       //添加至數組  

       startStop.push(priorWeekFirstDay); 

       startStop.push(priorWeekLastDay); 

       return startStop; 

   }; 

    

   this.getPriorSeasonFirstDay=function(year,month){ 

       var quarterMonthStart=0; 

       var spring=0; //春  

       var summer=3; //夏  

       var fall=6;  //秋  

       var winter=9;//冬  

       //月份從0-11  

       switch(month){//季度的其實月份  

       case spring: 

           //如果是第一季度則應該到去年的冬季  

             year–; 

             month=winter; 

           break; 

       case summer: 

           month=spring; 

           break; 

       case fall: 

           month=summer; 

           break; 

       case winter: 

           month=fall; 

           break; 

       }; 

       return new Date(year,month,1); 

   }; 

    

   this.getPreviousSeason=function(){ 

       //起止日期數組  

       var startStop=new Array(); 

       //獲取當前時間  

       var currentDate=this.getCurrentDate(); 

       //獲得當前月份0-11  

       var currentMonth=currentDate.getMonth(); 

       //獲得當前年份4位年  

       var currentYear=currentDate.getFullYear(); 

       //上季度的第一天  

       var priorSeasonFirstDay=this.getPriorSeasonFirstDay(currentYear,currentMonth); 

       //上季度的最後一天  

       var priorSeasonLastDay=newDate(priorSeasonFirstDay.getFullYear(),priorSeasonFirstDay.getMonth()+2,this.getMonthDays(priorSeasonFirstDay.getFullYear(),priorSeasonFirstDay.getMonth()+2)); 

       //添加至數組  

       startStop.push(priorSeasonFirstDay); 

       startStop.push(priorSeasonLastDay); 

       return startStop; 

   }; 

    

   this.getPreviousYear=function(){ 

       //起止日期數組  

       var startStop=new Array(); 

       //獲取當前時間  

       var currentDate=this.getCurrentDate(); 

       //獲得當前年份4位年  

       var currentYear=currentDate.getFullYear(); 

           currentYear–; 

       var priorYearFirstDay=newDate(currentYear,0,1); 

       var priorYearLastDay=newDate(currentYear,11,1); 

       //添加至數組  

       startStop.push(priorYearFirstDay); 

       startStop.push(priorYearLastDay); 

       return startStop; 

   }; 

};

 

 

var MrYangUtil=function(){

 

this.getCurrentDate=function(){

  return new Date();

};

 

this.getCurrentWeek=function(){

  //起止日期數組

  var startStop=new Array();

  //獲取當前時間

  var currentDate=this.getCurrentDate();

  //返回date是一周中的某一天

  var week=currentDate.getDay();

  //返回date是一個月中的某一天

  var month=currentDate.getDate();

  //一天的毫秒數

  var millisecond=1000*60*60*24;

  //減去的天數

  var minusDay=week!=0?week-1:6;

  //alert(minusDay);

  //本周 周一

  var monday=newDate(currentDate.getTime()-(minusDay*millisecond));

  //本周 周日

  var sunday=newDate(monday.getTime()+(6*millisecond));

  //添加本周時間

  startStop.push(monday);//本周起始時間

  //添加本周最後一天時間

  startStop.push(sunday);//本周終止時間

  //返回

  return startStop;

};

 

this.getCurrentMonth=function(){

  //起止日期數組

  var startStop=new Array();

  //獲取當前時間

  var currentDate=this.getCurrentDate();

  //獲得當前月份0-11

  var currentMonth=currentDate.getMonth();

  //獲得當前年份4位年

  var currentYear=currentDate.getFullYear();

  //求出本月第一天

  var firstDay=newDate(currentYear,currentMonth,1);

 

  //當為12月的時候年份需要加1

  //月份需要更新為0 也就是下一年的第一個月

  if(currentMonth==11){

   currentYear++;

   currentMonth=0;//就為

  }else{

   //否則隻是月份增加,以便求的下一月的第一天

   currentMonth++;

  }

  //一天的毫秒數

  var millisecond=1000*60*60*24;

  //下月的第一天

  var nextMonthDayOne=newDate(currentYear,currentMonth,1);

  //求出上月的最後一天

  var lastDay=newDate(nextMonthDayOne.getTime()-millisecond);

  //添加至數組中返回

  startStop.push(firstDay);

  startStop.push(lastDay);

  //返回

  return startStop;

};

 

this.getQuarterSeasonStartMonth=function(month){

  var quarterMonthStart=0;

  var spring=0; //春

  var summer=3; //夏

  var fall=6;  //秋

  var winter=9;//冬

  //月份從0-11

  if(month<3){

   return spring;

  }

  if(month<6){

   return summer;

  }

  if(month<9){

   return fall;

  }

  return winter;

};

 

this.getMonthDays=function(year,month){

  //本月第一天 1-31

  var relativeDate=new Date(year,month,1);

  //獲得當前月份0-11

  var relativeMonth=relativeDate.getMonth();

  //獲得當前年份4位年

  varrelativeYear=relativeDate.getFullYear();

  //當為12月的時候年份需要加1

  //月份需要更新為0 也就是下一年的第一個月

  if(relativeMonth==11){

   relativeYear++;

   relativeMonth=0;

  }else{

   //否則隻是月份增加,以便求的下一月的第一天

   relativeMonth++;

  }

  //一天的毫秒數

  var millisecond=1000*60*60*24;

  //下月的第一天

  var nextMonthDayOne=newDate(relativeYear,relativeMonth,1);

  //返回得到上月的最後一天,也就是本月總天數

  return newDate(nextMonthDayOne.getTime()-millisecond).getDate();

};

 

this.getCurrentSeason=function(){

  //起止日期數組

  var startStop=new Array();

  //獲取當前時間

  var currentDate=this.getCurrentDate();

  //獲得當前月份0-11

  var currentMonth=currentDate.getMonth();

  //獲得當前年份4位年

  var currentYear=currentDate.getFullYear();

  //獲得本季度開始月份

  varquarterSeasonStartMonth=this.getQuarterSeasonStartMonth(currentMonth);

  //獲得本季度結束月份

  varquarterSeasonEndMonth=quarterSeasonStartMonth+2;

  //獲得本季度開始的日期

  var quarterSeasonStartDate=newDate(currentYear,quarterSeasonStartMonth,1);

  //獲得本季度結束的日期

  var quarterSeasonEndDate=newDate(currentYear,quarterSeasonEndMonth,this.getMonthDays(currentYear,quarterSeasonEndMonth));

  //加入數組返回

  startStop.push(quarterSeasonStartDate);

  startStop.push(quarterSeasonEndDate);

  //返回

  return startStop;

};

 

this.getCurrentYear=function(){

  //起止日期數組

  var startStop=new Array();

  //獲取當前時間

  var currentDate=this.getCurrentDate();

  //獲得當前年份4位年

  var currentYear=currentDate.getFullYear();

  //本年第一天

  var currentYearFirstDate=newDate(currentYear,0,1);

  //本年最後一天

  var currentYearLastDate=newDate(currentYear,11,31);

  //添加至數組

  startStop.push(currentYearFirstDate);

  startStop.push(currentYearLastDate);

  //返回

  return startStop;

};

 

this.getPriorMonthFirstDay=function(year,month){

  //年份為0代表,是本年的第一月,所以不能減

  if(month==0){

   month=11;//月份為上年的最後月份

   year–;//年份減1

   return newDate(year,month,1);

  }

  //否則,隻減去月份

  month–;

  return new Date(year,month,1);;

};

 

this.getPreviousMonth=function(){

  //起止日期數組

  var startStop=new Array();

  //獲取當前時間

  var currentDate=this.getCurrentDate();

  //獲得當前月份0-11

  var currentMonth=currentDate.getMonth();

  //獲得當前年份4位年

  var currentYear=currentDate.getFullYear();

  //獲得上一個月的第一天

       varpriorMonthFirstDay=this.getPriorMonthFirstDay(currentYear,currentMonth);

       //獲得上一月的最後一天

       var priorMonthLastDay=newDate(priorMonthFirstDay.getFullYear(),priorMonthFirstDay.getMonth(),this.getMonthDays(priorMonthFirstDay.getFullYear(),priorMonthFirstDay.getMonth()));

       //添加至數組

       startStop.push(priorMonthFirstDay);

       startStop.push(priorMonthLastDay);

  //返回

  return startStop;

};

 

this.getPreviousWeek=function(){

  //起止日期數組

  var startStop=new Array();

  //獲取當前時間

  var currentDate=this.getCurrentDate();

  //返回date是一周中的某一天

  var week=currentDate.getDay();

  //返回date是一個月中的某一天

  var month=currentDate.getDate();

  //一天的毫秒數

  var millisecond=1000*60*60*24;

  //減去的天數

  var minusDay=week!=0?week-1:6;

  //獲得當前周的第一天

  var currentWeekDayOne=newDate(currentDate.getTime()-(millisecond*minusDay));

  //上周最後一天即本周開始的前一天

  var priorWeekLastDay=newDate(currentWeekDayOne.getTime()-millisecond);

  //上周的第一天

  var priorWeekFirstDay=newDate(priorWeekLastDay.getTime()-(millisecond*6));

  //添加至數組

  startStop.push(priorWeekFirstDay);

  startStop.push(priorWeekLastDay);

  return startStop;

};

 

this.getPriorSeasonFirstDay=function(year,month){

  var quarterMonthStart=0;

  var spring=0; //春

  var summer=3; //夏

  var fall=6;  //秋

  var winter=9;//冬

  //月份從0-11

  switch(month){//季度的其實月份

  case spring:

   //如果是第一季度則應該到去年的冬季

    year–;

    month=winter;

   break;

  case summer:

   month=spring;

   break;

  case fall:

   month=summer;

   break;

  case winter:

   month=fall;

   break;

  };

  return new Date(year,month,1);

};

 

this.getPreviousSeason=function(){

  //起止日期數組

  var startStop=new Array();

  //獲取當前時間

  var currentDate=this.getCurrentDate();

  //獲得當前月份0-11

  var currentMonth=currentDate.getMonth();

  //獲得當前年份4位年

  var currentYear=currentDate.getFullYear();

  //上季度的第一天

  varpriorSeasonFirstDay=this.getPriorSeasonFirstDay(currentYear,currentMonth);

  //上季度的最後一天

  var priorSeasonLastDay=newDate(priorSeasonFirstDay.getFullYear(),priorSeasonFirstDay.getMonth()+2,this.getMonthDays(priorSeasonFirstDay.getFullYear(),priorSeasonFirstDay.getMonth()+2));

  //添加至數組

  startStop.push(priorSeasonFirstDay);

  startStop.push(priorSeasonLastDay);

  return startStop;

};

 

this.getPreviousYear=function(){

  //起止日期數組

  var startStop=new Array();

  //獲取當前時間

  var currentDate=this.getCurrentDate();

  //獲得當前年份4位年

  var currentYear=currentDate.getFullYear();

     currentYear–;

  var priorYearFirstDay=newDate(currentYear,0,1);

  var priorYearLastDay=newDate(currentYear,11,1);

  //添加至數組

  startStop.push(priorYearFirstDay);

  startStop.push(priorYearLastDay);

  return startStop;

};

};

發佈留言