javascript - 从 Git 提交 api 获取日期和日期

标签 javascript github git-commit

我调用了 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/

相关文章:

javascript - 找不到模块 "collections/deque"

linux - Git 推送访问从内部/等被拒绝

git - 简单的 Github 提交不起作用(尝试将图像添加到我的公共(public)图像文件夹)

Git:将特定提交移动到另一个分支

java - 当webview页面不同时如何从java调用javascript函数

javascript - AngularJS 如何返回字符串而不是 Json 对象

javascript - 在类方法中访问对象属性

linux - 分支与 merge 策略 - Linux 内核

windows - 如何让 Windows 记住我的密码 key ?

git - "Merge remote-tracking branch ' xxx/master'"是否为 Pull Request 带来了麻烦?