js获得本周,本月,本季度的开始日期和结束日期

简介:
Java代码   收藏代码
  1. <script>     
  2. var now = new Date();                    //当前日期     
  3. var nowDayOfWeek = now.getDay();         //今天本周的第几天     
  4. var nowDay = now.getDate();              //当前日     
  5. var nowMonth = now.getMonth();           //当前月     
  6. var nowYear = now.getYear();             //当前年     
  7. nowYear += (nowYear < 2000) ? 1900 : 0;  //     
  8.     
  9. //格式化日期:yyyy-MM-dd     
  10. function formatDate(date) {      
  11.     var myyear = date.getFullYear();     
  12.     var mymonth = date.getMonth()+1;     
  13.     var myweekday = date.getDate();   
  14.     if(mymonth < 10){     
  15.         mymonth = "0" + mymonth;     
  16.     }      
  17.     if(myweekday < 10){     
  18.         myweekday = "0" + myweekday;     
  19.     }     
  20.    // return (myyear+"-"+mymonth + "-" + myweekday);      
  21.       
  22.     //格式化日期:yyyy-MM-dd HH:MM:SS  
  23.     var myHour = date.getHours();      
  24.     var myMinute = date.getMinutes();      
  25.     var mySecond = date.getSeconds();      
  26.     if(myHour < 10){     
  27.         myHour = "0" + myHour;     
  28.     }      
  29.     if(myMinute < 10){     
  30.         myMinute = "0" + myMinute;     
  31.     }         
  32.     if(mySecond < 10){     
  33.         mySecond = "0" + mySecond;     
  34.     }         
  35.     return (myyear+"-"+mymonth + "-" + myweekday+" "+myHour+":"+myMinute+":"+mySecond);      
  36. }      
  37.     
  38. //获得某月的天数     
  39. function getMonthDays(myMonth){     
  40.     var monthStartDate = new Date(nowYear, myMonth, 1);      
  41.     var monthEndDate = new Date(nowYear, myMonth + 11);      
  42.     var   days   =   (monthEndDate   -   monthStartDate)/(1000   *   60   *   60   *   24);      
  43.     return   days;      
  44. }     
  45.     
  46. //获得本季度的开始月份     
  47. function getQuarterStartMonth(){     
  48.     var quarterStartMonth = 0;     
  49.     if(nowMonth<3){     
  50.        quarterStartMonth = 0;     
  51.     }     
  52.     if(2<nowMonth && nowMonth<6){     
  53.        quarterStartMonth = 3;     
  54.     }     
  55.     if(5<nowMonth && nowMonth<9){     
  56.        quarterStartMonth = 6;     
  57.     }     
  58.     if(nowMonth>8){     
  59.        quarterStartMonth = 9;     
  60.     }     
  61.     return quarterStartMonth;     
  62. }     
  63.   
  64.  //获得本天(i=0)的开始时间     
  65. function getDayStartDate(i) {      
  66.     var nowStartDay = new Date(nowYear, nowMonth, nowDay+i);      
  67.     return formatDate(nowStartDay);     
  68. }    
  69.     
  70. //获得本天(i=0)的结束时间     
  71. function getDayEndDate(i) {      
  72.     var nowStartDay = new Date(nowYear, nowMonth, nowDay+i,23,59,59);      
  73.     return formatDate(nowStartDay);     
  74. }  
  75.   
  76.  //获得本周(i=0)的开始日期     
  77. function getWeekStartDate(i) {      
  78.     //var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);      
  79.     var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek+7*i);      
  80.     return formatDate(weekStartDate);     
  81. }      
  82.     
  83. //获得本周的结束日期     
  84. function getWeekEndDate(i) {      
  85.    // var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));      
  86.     var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek)+7*i,23,59,59);      
  87.     return formatDate(weekEndDate);     
  88. }      
  89.     
  90. //获得本月的开始日期     
  91. function getMonthStartDate(i){     
  92.     //var monthStartDate = new Date(nowYear, nowMonth, 1);      
  93.     var monthStartDate = new Date(nowYear, nowMonth+i, 1);      
  94.     return formatDate(monthStartDate);     
  95. }     
  96.     
  97. //获得本月的结束日期     
  98. function getMonthEndDate(i){     
  99.     //var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));      
  100.     var monthEndDate = new Date(nowYear, nowMonth+i, getMonthDays(nowMonth+i,),23,59,59);      
  101.     return formatDate(monthEndDate);     
  102. }     
  103.     
  104. //获得本季度的开始日期     
  105. function getQuarterStartDate(i){     
  106.     //var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);      
  107.     var quarterStartDate = new Date(nowYear, getQuarterStartMonth()+3*i, 1);      
  108.     return formatDate(quarterStartDate);     
  109. }     
  110.     
  111. //或的本季度的结束日期     
  112. function getQuarterEndDate(i){     
  113.     var quarterEndMonth = getQuarterStartMonth()+3*i + 2;     
  114.     //var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));      
  115.     var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth),23,59,59);      
  116.     return formatDate(quarterStartDate);     
  117. }     
  118.     
  119. //获得本年度的开始日期     
  120. function getYearStartDate(i){     
  121.     var quarterStartDate = new Date(nowYear+i, 01);      
  122.     return formatDate(quarterStartDate);     
  123. }    
  124.   
  125. //获得本年度的结束日期     
  126. function getYearEndDate(i){     
  127.     var quarterStartDate = new Date(nowYear+i, 11, getMonthDays(11),23,59,59);      
  128.     return formatDate(quarterStartDate);     
  129. }    
  130.   
  131. alert(getMonthStartDate(1));     
  132. </script>  
相关文章
|
1月前
|
JavaScript
JS设置日期为0时0分0秒
项目中经常要给设置默认值,搜索从哪天开始,这时候,如果直接通过new Date()来获取时间,会有时分秒,如果快速设置为0时0分0秒?
27 0
|
2月前
|
移动开发 JavaScript 前端开发
分享76个时间日期JS特效,总有一款适合您
分享76个时间日期JS特效,总有一款适合您
32 0
|
3月前
|
JavaScript 前端开发
javascript 如何判断字符串日期是否相差七天
在JavaScript中,你可以使用`Date`对象来比较两个日期之间的差异。下面是一个简单的示例,演示如何判断两个字符串日期是否相差七天: ```javascript function isSevenDaysDifference(date1, date2) { // 确保输入是字符串 if (typeof date1 !== 'string' || typeof date2 !== 'string') { return false; } // 将字符串转换为Date对象 var d1 = new Date(date1);
|
3月前
|
JavaScript 前端开发 小程序
js vue react获取本周、本月、本季、本年的第一天
js vue react获取本周、本月、本季、本年的第一天
|
3月前
|
存储 前端开发 JavaScript
实现一个简单的JavaScript日期选择器
实现一个简单的JavaScript日期选择器
|
3月前
|
JavaScript 前端开发
实现一个JavaScript动态日期功能
实现一个JavaScript动态日期功能
|
3月前
|
存储 资源调度 JavaScript
JavaScript日期时间操作完整指南!(下)
JavaScript日期时间操作完整指南!(下)
|
3月前
|
JavaScript 前端开发 Unix
JavaScript日期时间操作完整指南!(上)
JavaScript日期时间操作完整指南!(上)
|
2月前
|
JavaScript 前端开发 UED
分享89个时间日期JS特效,总有一款适合您
分享89个时间日期JS特效,总有一款适合您
29 3
|
3月前
|
资源调度 JavaScript 前端开发
jc-datetime :JavaScript 日期时间实用编程
jc-datetime :JavaScript 日期时间实用编程
160 1