关于日期的一个bug - pod4g/tool GitHub Wiki

在调调SKU管理系统,今天发现了一个问题,今天日期是2016-05-31,当点击“明天”拉取明天的数据时,发现start为2016-05-32

var eventHandler = {

  yesterday:function(){
   this.day(-1);            
  },

  today:function(){
    this.day(0); 
  },

  tomorrow:function(){
    this.day(1); 
  },
  // 这个方法有问题
  // 在5月31号,获取到的day为31,然后又+1,变成了32。
  // 可以预见,明天是6月1号,获取到的day为01,如果拉取昨天的数据(就是5月31号即今天的)
  // 那么day - 1,就变成了0,也就是说,变成了06-00号,当然也会出错。
  day:function(go){
            showLoading();
            var date = new Date();
            // 在这儿加一行代码。保证加减运算的结果已经被date对象获知。取消掉下方的 +go 操作
            date.setDate(today.getDate()+go);
            var year = date.getFullYear();
            var month = leftZero(date.getMonth() + 1);

            // 取消掉这行代码。因为这儿做的是算术运算,其结果没有被date对象获知。
            // var day = leftZero(today.getDate() + go);
            
            var day = leftZero(today.getDate());

            var timeStr = year + month + day;
            var start = timeStr,end = timeStr;
            var title = "";
            if(go > 0){
                title = "\"明天\"";
            }else if(go < 0){
                title = "\"昨天\"";
            }else{
                title = "\"今天\"";
            }
            getMetasByTimeRange(start,end,function(result){
                var meta_infos = result.data.metas;
                var articles = [];
                var alllist = $scope.alllist;
                var url = "http://120.27.45.36:3000/v1/getfullsku/";  
                 meta_infos.forEach(function(item){
                    var article = {
                        cid:item.serverid,
                        thumb_image_url: item.thumb,
                        url:"http://c.diaox2.com"+item.oriUrl,
                        // 去掉title中的<br/>
                        title:[item.title.replace(/<br\s*\/>/ig,"")],
                        skuList:[]
                    }
                    articles.push(article);
                    var sidList = alllist[article.cid];
                    if(sidList){
                         sidList.forEach(function(sku){
                         $http({
                                url:url+sku,
                                method:"GET",
                                timeout:20000,
                                catch:true,
                                headers:headers
                               }).then(function(sku){
                                    // console.log(sku.data.data);
                                    article.skuList.push(sku.data.data[0]);
                                    hideLoading(title+"的数据拉取成功");
                               }).catch(function(e){
                                    console.log(e);
                                    hideLoading('未能取到'+title+"的数据,请重试");
                               })
                        })
                    }
                })
                // console.log(articles);
                $scope.cachedArticles = articles;
                var revarticles = $rootScope.revarticles;
                if(revarticles){
                    addThreeDStyle(revarticles);
                }
            })
        }day:function(go){
            showLoading();
            var date = new Date();
            var year = date.getFullYear();
            var month = leftZero(date.getMonth() + 1);
            var day = leftZero(date.getDate() + go);
            var timeStr = year + month + day;
            var start = timeStr,end = timeStr;
            var title = "";
            if(go > 0){
                title = "\"明天\"";
            }else if(go < 0){
                title = "\"昨天\"";
            }else{
                title = "\"今天\"";
            }
            getMetasByTimeRange(start,end,function(result){
                var meta_infos = result.data.metas;
                var articles = [];
                var alllist = $scope.alllist;
                var url = "http://120.27.45.36:3000/v1/getfullsku/";  
                 meta_infos.forEach(function(item){
                    var article = {
                        cid:item.serverid,
                        thumb_image_url: item.thumb,
                        url:"http://c.diaox2.com"+item.oriUrl,
                        // 去掉title中的<br/>
                        title:[item.title.replace(/<br\s*\/>/ig,"")],
                        skuList:[]
                    }
                    articles.push(article);
                    var sidList = alllist[article.cid];
                    if(sidList){
                         sidList.forEach(function(sku){
                         $http({
                                url:url+sku,
                                method:"GET",
                                timeout:20000,
                                catch:true,
                                headers:headers
                               }).then(function(sku){
                                    // console.log(sku.data.data);
                                    article.skuList.push(sku.data.data[0]);
                                    hideLoading(title+"的数据拉取成功");
                               }).catch(function(e){
                                    console.log(e);
                                    hideLoading('未能取到'+title+"的数据,请重试");
                               })
                        })
                    }
                })
                // console.log(articles);
                $scope.cachedArticles = articles;
                var revarticles = $rootScope.revarticles;
                if(revarticles){
                    addThreeDStyle(revarticles);
                }
            })
        }
}
⚠️ **GitHub.com Fallback** ⚠️