首页 > 解决方案 > 如何将一段日期变成一个数组?

问题描述

如何在数组中转换一段日期?例如,我有一段从 2020 年 3 月 1 日到 2020 年 4 月 29 日的日期,如何将其变成如下所示的数组?

    period = [{day: "Sun", date: "1", month: "Mar", year: "2020"}, ..., 
{day: "Wed",date: "29", month: "Apr", year: "2020"}]

标签: javascriptreactjs

解决方案


您可以从日期范围创建数组,遵循https://stackoverflow.com/a/50398144/4964569

并获得日期关注https://stackoverflow.com/a/4822882/4964569

并使用map函数来生成您需要的

var getDaysArray = function(s,e) {for(var a=[],d=new Date(s);d<=e;d.setDate(d.getDate()+1)){ a.push(new Date(d));}return a;};

var dateRange = getDaysArray(new Date('2020-03-10'), new Date('2020-04-29'));
var days =  ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];

var result = dateRange.map(function(elem){

     var obj =  {
       day: days[elem.getDay()],
       date: elem.getDate(),
       month: elem.getMonth(),
       year: elem.getFullYear()

     }

     return obj;
});

console.log(result)

var getDaysArray = function(s,e) {for(var a=[],d=new Date(s);d<=e;d.setDate(d.getDate()+1)){ a.push(new Date(d));}return a;};

var dateRange = getDaysArray(new Date('2020-03-10'), new Date('2020-04-29'));
var days = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];

var result = dateRange.map(function(elem){
  
     var obj =  {
       day: days[elem.getDay()],
       date: elem.getDate(),
       month: elem.getMonth(),
       year: elem.getFullYear()
      
     }
     
     return obj;
});

console.log(result)


推荐阅读