我调用了 Git commit api,它提供了从星期日开始的 7 天数组,我想要该数组中的日期和日期。例如。周日 8 月 6 日 周一 8 月 7 日 周二 8 月 8 日 .... 我尝试使用 1 名开发人员建议的以下代码来获取此信息,但它仅给出开始日期和日期。请帮助我实现它。
建议代码:
var data = data.json().data;
if (data) {
var months = {};
for (var i = 0; i < data.length; i++) {
console.log(data[i]);
var monthNum = 0;
if (data[i].week) {
console.log(new Date(data[i].week * 1000));
monthNum = new Date(data[i].week * 1000).getMonth();
} else {
monthNum = new Date().getMonth()
}
if (!months[monthNum]) {
months[monthNum] = [];
}
months[monthNum].push(data[i]);
}
console.log(months);
}
API响应
{
"success":true,
"data":[
{
"days":[
0,
0,
0,
0,
0,
0,
0
],
"total":0,
"week":1471132800
},
{
"days":[
0,
0,
0,
0,
0,
0,
0
],
"total":0,
"week":1471737600
},
{
"days":[
0,
0,
2,
4,
0,
0,
0
],
"total":6,
"week":1472342400
},
{
"days":[
0,
0,
0,
0,
0,
0,
0
],
"total":0,
"week":1472947200
},
{
"days":[
0,
0,
0,
0,
0,
0,
0
],
"total":0,
"week":1473552000
},
{
"days":[
0,
0,
0,
0,
0,
0,
0
],
"total":0,
"week":1474156800
},
{
"days":[
0,
0,
0,
0,
0,
0,
0
],
"total":0,
"week":1474761600
},
{
"days":[
0,
0,
0,
0,
0,
0,
0
],
"total":0,
"week":1475366400
},
{
"days":[
0,
0,
0,
0,
0,
0,
0
]
}
最佳答案
这是你想要的输出吗?运行代码并查看是否有帮助。
function getComitDates() {
var data = data.json().data;
if(data) {
var weekFlat = data.map(function(m){
return m.days.map(function(n,k){
return {
week:m.week,
dayIndex:k,
sum:n
}
})
});
var options = {month: 'short', day: 'numeric'};
var result = weekFlat.map(function(arr){
return arr.map(function(ed){
var date = ed.week?new Date((ed.week*1000) + ed.dayIndex*24*3600*1000) : new Date();
return date.toLocaleDateString('en-US', options) + ' ' +ed.sum
});
}).join(",").split(",");
console.log(result);
}
}
关于javascript - 从 Git 提交 api 获取日期和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45605617/