javascript - 如何创建带有日期和日期的全年月份的数组对象?

标签 javascript arrays reactjs

我想获取一个对象数组,其中包括作为关键日期的月份和作为对象和数组子项的日期,这将是月份的值

我想要这样的东西

 var fullYearCalendar = [
                          January:[{date:'1',day:'tue'},
                                   {date:'2',day:'wed'},
                                   {date:'3',day:'thr'},
                                   and so on...
                                  ],
                          February:[{date:'8',day:'sun'},
                                   {date:'9',day:'mon'},
                                   {date:'10',day:'tue'},
                                   and so on...
                                  ],
                                  and so on...
                        ]

最佳答案

使用 Date 对象可以很容易地做到这一点。您需要牢记的一件事是闰年(包含 366 天):

let fullYearCalendar = {};

// initialize date to Jan 1, 1900
let date = new Date(0, 0, 1);

// day length in milliseconds
let dayLength = 1000 * 60 * 60 * 24;

// year length in days (account for leap years)
let year = date.getFullYear();
let yearLength = ((year % 4) || (!(year % 100) && (year % 400))) ? 365 : 366;

for (let i = 0; i < yearLength; i ++) {
  // determine month
  let month = date.toLocaleDateString('en-US', {month: 'long'});

  // determine weekday
  let weekday = date.toLocaleDateString('en-US', {weekday: 'short'});
  
  // initialize month if it does not exist
  if (!fullYearCalendar[month])
    fullYearCalendar[month] = [];

  // add current day to month
  fullYearCalendar[month].push({
    date: date.getDate(),
    day: weekday.toLowerCase()
  })
    
  // increment date by one day
  date = new Date(date.getTime() + dayLength);
}

console.log(fullYearCalendar);

关于javascript - 如何创建带有日期和日期的全年月份的数组对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59181374/

相关文章:

PHP+MySQL 打印查询结果

javascript - 动态添加跨度标记到字符串的第一个单词

javascript - 如何访问组件外部的功能组件状态? - react

javascript - 如何加载场景 react native

javascript - 为什么 angular {{}} 语法会阻止指令中 attrs.$set 的更改?

javascript - 单击不同的 HTML 按钮时删除以前的 geoJSON 层?

java - Guava 表与二维数组

java - 二维数组——C 与 Java

javascript - React 组件在服务器端渲染,但客户端不接管

javascript - 在 JavaScript 中向函数添加函数的最佳实践是什么?