javascript - 如何将一段日期变成一个数组?
问题描述
如何在数组中转换一段日期?例如,我有一段从 2020 年 3 月 1 日到 2020 年 4 月 29 日的日期,如何将其变成如下所示的数组?
period = [{day: "Sun", date: "1", month: "Mar", year: "2020"}, ...,
{day: "Wed",date: "29", month: "Apr", year: "2020"}]
解决方案
您可以从日期范围创建数组,遵循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)
推荐阅读
- php - laravel注册后如何去掉默认邮件发送
- cross-compiling - 使用 MingW 将 Python 扩展从 Linux 交叉编译到 Win
- php - 使用 MySQL 和约束搜索匹配的标签(相似性搜索)
- java - 当依赖类存在多个 bean 时如何自动装配?
- javascript - Array.map 记录但未显示在屏幕上
- sql-server - 批量插入,无法批量加载。格式文件的未知版本
- java - swagger core 2.0 禁用端点的安全性
- .net - WinSCP NuGet 包 .NET 标准错误
- sharepoint - 如何检查具有特定ID的用户是否存在?
- oracle - 无法从数组中删除元素