js算两个日期中的所有年份月份(经过测试)

分手后的思念是犯贱 2021-07-26 13:25 425阅读 0赞

这个比较准确经过测试 原文忘记在哪了 有知道的老铁可以在底下评论

  1. getMonthBetween(start, end) {
  2. var result = {};
  3. var s = start.split('-');
  4. var e = end.split('-');
  5. var minyear = new Date();
  6. var maxyear = new Date();
  7. minyear.setFullYear(s[0]);// 开始年
  8. maxyear.setFullYear(e[0]);// 结束年
  9. var curryear = minyear;
  10. // eslint-disable-next-line no-unused-vars
  11. const yeararr = [];
  12. // eslint-disable-next-line no-unmodified-loop-condition
  13. while (curryear <= maxyear) {
  14. var year = curryear.getFullYear();
  15. result[year] = [];
  16. curryear.setFullYear(year + 1);
  17. }
  18. var min = new Date();
  19. var max = new Date();
  20. min.setFullYear(s[0], s[1] * 1 - 1);// 开始月
  21. max.setFullYear(e[0], e[1] * 1 - 1);// 结束月
  22. var curr = min;
  23. let temmonth = '';
  24. // eslint-disable-next-line no-unmodified-loop-condition
  25. while (curr <= max) {
  26. var month = curr.getMonth();
  27. if (month + 1 < 10) {
  28. temmonth = '0' + (month + 1);
  29. } else {
  30. temmonth = month + 1;
  31. }
  32. result[this.$moment(curr).format('YYYY')].push(temmonth);
  33. curr.setMonth(month + 1);
  34. }
  35. // 这部分可以自己写
  36. const list = [];
  37. if (result) {
  38. for (const curryearKey in result) {
  39. result[curryearKey].forEach((item) => {
  40. list.push(`${curryearKey}-${item}`);
  41. });
  42. }
  43. }
  44. // var str = curr.getFullYear() + '-' + (month.toString().padStart(2, '0'));
  45. return list;
  46. }

结果

20200828143748641.png

发表评论

表情:
评论列表 (有 0 条评论,425人围观)

还没有评论,来说两句吧...

相关阅读