【问题标题】:Get array of dates between two dates with custom interval使用自定义间隔获取两个日期之间的日期数组
【发布时间】:2021-10-02 07:01:09
【问题描述】:

我有这些数据:

const start = "29.09.2021";
const end = "29.10.2021";
const interval = "days"; //also: "month", "week", "year"
const intervalCount = 3;

如何获取存在于startend 之间的日期数组,间隔为:eq。如果 interval == "days" 和 intervalCount == 3 那么另一个日期应该是 02.10、05.10、08.10、11.10 等,但间隔也可以是“月”、“周”和“年”,所以我必须根据动态参数

我什至不知道如何开始,感谢您的帮助!

【问题讨论】:

    标签: javascript node.js typescript


    【解决方案1】:

    这可以使用此处找到的日期对象来完成

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

    你可以创建一个函数比如

    function getDates(startDateString, stopDateString, interval){
      var dates = [];
      var start = new Date(startDateString);
      var stop = new Date(stopDateString);
    
      while (start < stop) {
        dates.push (start.toJSON());
        start.setDate(start.getDate() + interval);
      }
      return dates;
    }
    

    然后你可以通过调用来运行函数

    dateArray = getDates("09-29-2021", "10-29-2021", 1)
    

    它涵盖单日迭代。一周只是间隔 7 天。

    dateArray = getDates("09-29-2021", "10-29-2021", 7)
    

    移动月份进入边缘情况,可以根据您的用例通过条件来处理(例如,如果日期是 1 月 31 日,那么 1 个月的跳跃应该带您到 3 月 3 日还是 2 月 28 日/29 日?)

    【讨论】:

      猜你喜欢
      • 2017-04-14
      • 1970-01-01
      • 2011-05-23
      • 2019-05-07
      • 2018-01-11
      • 2020-03-02
      • 2021-09-28
      • 2015-08-06
      • 1970-01-01
      相关资源
      最近更新 更多