js 获取 本周、上周、本月、上月、本季度、上季度的开始结束日期

  1. /**  
  2.  * 获取本周、本季度、本月、上月的开始日期、结束日期  
  3.  */  
  4. var now = new Date(); //当前日期   
  5. var nowDayOfWeek = now.getDay(); //今天本周的第几天   
  6. var nowDay = now.getDate(); //当前日   
  7. var nowMonth = now.getMonth(); //当前月   
  8. var nowYear = now.getYear(); //当前年   
  9. nowYear += (nowYear < 2000) ? 1900 : 0//   
  10. var lastMonthDate = new Date(); //上月日期   
  11. lastMonthDate.setDate(1);   
  12. lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);   
  13. var lastYear = lastMonthDate.getYear();   
  14. var lastMonth = lastMonthDate.getMonth();   
  15. //格式化日期:yyyy-MM-dd   
  16. function formatDate(date) {   
  17.     var myyear = date.getFullYear();   
  18.     var mymonth = date.getMonth() + 1;   
  19.     var myweekday = date.getDate();   
  20.     if (mymonth < 10) {   
  21.         mymonth = "0" + mymonth;   
  22.     }   
  23.     if (myweekday < 10) {   
  24.         myweekday = "0" + myweekday;   
  25.     }   
  26.     return (myyear + "-" + mymonth + "-" + myweekday);   
  27. }   
  28. //获得某月的天数   
  29. function getMonthDays(myMonth) {   
  30.     var monthStartDate = new Date(nowYear, myMonth, 1);   
  31.     var monthEndDate = new Date(nowYear, myMonth + 11);   
  32.     var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);   
  33.     return days;   
  34. }   
  35. //获得本季度的开始月份   
  36. function getQuarterStartMonth() {   
  37.     var quarterStartMonth = 0;   
  38.     if (nowMonth < 3) {   
  39.         quarterStartMonth = 0;   
  40.     }   
  41.     if (2 < nowMonth && nowMonth < 6) {   
  42.         quarterStartMonth = 3;   
  43.     }   
  44.     if (5 < nowMonth && nowMonth < 9) {   
  45.         quarterStartMonth = 6;   
  46.     }   
  47.     if (nowMonth > 8) {   
  48.         quarterStartMonth = 9;   
  49.     }   
  50.     return quarterStartMonth;   
  51. }   
  52. //获得本周的开始日期   
  53. function getWeekStartDate() {   
  54.     var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);   
  55.     return formatDate(weekStartDate);   
  56. }   
  57. //获得本周的结束日期   
  58. function getWeekEndDate() {   
  59.     var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));   
  60.     return formatDate(weekEndDate);   
  61. }   
  62. //获得上周的开始日期   
  63. function getLastWeekStartDate() {   
  64.     var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7);   
  65.     return formatDate(weekStartDate);   
  66. }   
  67. //获得上周的结束日期   
  68. function getLastWeekEndDate() {   
  69.     var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1);   
  70.     return formatDate(weekEndDate);   
  71. }   
  72. //获得本月的开始日期   
  73. function getMonthStartDate() {   
  74.     var monthStartDate = new Date(nowYear, nowMonth, 1);   
  75.     return formatDate(monthStartDate);   
  76. }   
  77. //获得本月的结束日期   
  78. function getMonthEndDate() {   
  79.     var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));   
  80.     return formatDate(monthEndDate);   
  81. }   
  82. //获得上月开始时间   
  83. function getLastMonthStartDate() {   
  84.     var lastMonthStartDate = new Date(nowYear, lastMonth, 1);   
  85.     return formatDate(lastMonthStartDate);   
  86. }   
  87. //获得上月结束时间   
  88. function getLastMonthEndDate() {   
  89.     var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));   
  90.     return formatDate(lastMonthEndDate);   
  91. }   
  92. //获得本季度的开始日期   
  93. function getQuarterStartDate() {   
  94.     var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);   
  95.     return formatDate(quarterStartDate);   
  96. }   
  97. //或的本季度的结束日期   
  98. function getQuarterEndDate() {   
  99.     var quarterEndMonth = getQuarterStartMonth() + 2;   
  100.     var quarterStartDate = new Date(nowYear, quarterEndMonth,   
  101.             getMonthDays(quarterEndMonth));   
  102.     return formatDate(quarterStartDate);   
  103. }  

你可能感兴趣的:(js,的)