date.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /**
  2. * 获取本周的第一天
  3. * 返回格式: YYYY-mm-dd
  4. * 例子: 当日为: 2020-11-27
  5. * 返回日期为: 2020-11-23
  6. * */
  7. export default {
  8. /**
  9. * 获取当前月的第一天
  10. * 返回格式: YYYY-mm-dd
  11. * 例子: 当日为: 2020-11-27
  12. * 返回日期为: 2020-11-01
  13. * */
  14. getCurrentMonthFirstDay() {
  15. let date = new Date();
  16. date.setDate(1);
  17. let month = parseInt(date.getMonth() + 1);
  18. let day = date.getDate();
  19. if (month < 10) {
  20. month = '0' + month
  21. }
  22. if (day < 10) {
  23. day = '0' + day
  24. }
  25. return date.getFullYear() + '-' + month + '-' + day;
  26. },
  27. /**
  28. * 获取当前月的最后一天
  29. * 返回格式: YYYY-mm-dd
  30. * 例子: 当日为: 2020-11-27
  31. * 返回日期为: 2020-11-30
  32. * */
  33. getCurrentMonthLastDay() {
  34. let date = new Date();
  35. let currentMonth = date.getMonth();
  36. let nextMonth = ++currentMonth;
  37. let nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
  38. let oneDay = 1000 * 60 * 60 * 24;
  39. let lastTime = new Date(nextMonthFirstDay - oneDay);
  40. let month = parseInt(lastTime.getMonth() + 1);
  41. let day = lastTime.getDate();
  42. if (month < 10) {
  43. month = '0' + month
  44. }
  45. if (day < 10) {
  46. day = '0' + day
  47. }
  48. return date.getFullYear() + '-' + month + '-' + day;
  49. },
  50. getCurrWeek(date){
  51. var d = date;
  52. var year = d.getFullYear();
  53. var month = parseInt(d.getMonth())+1;
  54. //获取周一
  55. var beginWhereTheTime = this.GetMondayAndSunday(d);
  56. var dd = new Date(beginWhereTheTime);
  57. //获取周天
  58. dd.setDate(dd.getDate()+6);
  59. var monthSunday = parseInt(dd.getMonth())+1;
  60. var endWhereTheTime = dd.getFullYear() + "-" + this.formatDate(monthSunday) + "-" + this.formatDate(dd.getDate());
  61. return [beginWhereTheTime,endWhereTheTime]
  62. },
  63. //获取指定日期所在周周一
  64. GetMondayAndSunday(dd) {
  65. var week = dd.getDay(); //获取时间的星期数
  66. var minus = week ? week - 1 : 6;
  67. dd.setDate(dd.getDate() - minus); //获取minus天前的日期
  68. var y = dd.getFullYear();
  69. var m = dd.getMonth() + 1; //获取月份
  70. var d = dd.getDate();
  71. return y + "-" + this.formatDate(m) + "-" + this.formatDate(d);
  72. },
  73. //格式化月和日为MM、dd
  74. formatDate(value){
  75. if(value < 10){
  76. value = "0" + value;
  77. }
  78. return value;
  79. }
  80. }