2016-07-31 70 views
-2

我想從數據天氣的Json一週的日子裏,我使用這個代碼 「角 - 獲取天周天氣信息

var dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; 
    var date = new Date(); 
$scope.wDay = dayNames[date.getDay()]; 

HTML

{{wDay}} 

GET結果只一天'太陽'不是所有星期的一週

完整json數據

{ 

    "daily": { 
    "summary": "لا أمطار خلال الأسبوع مع درجات حرارة ترتفع حتى 50°C يوم الأربعاء", 
    "icon": "clear-day", 
    "data": [ 
     { 
     "time": 1469912400, 
     "summary": "اجواء جافة خلال اليوم", 
     "icon": "clear-day", 
     "sunriseTime": 1469931375, 
     "sunsetTime": 1469981058, 
     "moonPhase": 0.91, 
     "precipIntensity": 0, 
     "precipIntensityMax": 0, 
     "precipProbability": 0, 
     "temperatureMin": 30.7, 
     "temperatureMinTime": 1469930400, 

     }, 
+0

date.getDay()總是返回今天。 – MONTYHS

回答

0

此程序是時間依賴性的。

new Date().getDay() 

WIL 0今天

0

您將只能看到星期天總是retuen你 - 因爲它是你專門測試了它: dayNames[date.getDay()]; - 相當於一週的某一天在指定日期的數字。

如果你希望他們所有的,只是NG-重複dayNames

var dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; 
    var date = new Date(); 

    function MyCtrl($scope) { 
     $scope.today = dayNames[date.getDay()]; 
     $scope.all = dayNames; 
    } 

    Today is {{today}}! 

    <div ng-repeat="day in all"> 
    {{day}} 
    </div> 

http://jsfiddle.net/Lvc0u55v/7751/

編輯:在問題的範圍 變化,所以這裏是一個除了答案。這當然可以寫在一個更簡潔的方式,而是擴展爲簡潔:

http://jsfiddle.net/Lvc0u55v/7896/

我加入MomentJS(http://momentjs.com) - 偉大的使用日期。

//Added a filter to grab today's data from JSON 
myApp.filter('GetToday',function(){ 
    return function(epoch) { 

    //Get today 
    var today = moment(); 

    //Loop through all the daily nodes from the JSON 
    for (var i = 0; i < epoch.length; i++) { 

     //convert UNIX timestamp to date 
     var json = moment.unix(epoch[i].time); 

     //determine difference between dates 
     var duration = moment.duration(json.diff(today)); 

     //convert the difference into hours 
     var hours = duration.asHours(); 

     //if it's more than 0 and less than 24 (today) return this node 
     if(hours > 0 && hours < 24) { 
      return epoch[i]; 
     } 
    } 
    } 
}); 

myApp.controller('MyCtrl', ['$scope', '$filter', function($scope, $filter){ 
     $scope.daily = $filter('GetToday')(data[0].daily.data); 
}]); 
+0

你不理解我,我想通過代碼daysnames – razak

+0

得到天氣數據json的一週中的幾天我根據你的問題和提供的例子回答。你能發佈你用於天氣數據的完整JSON對象嗎? – Fraccus

+0

是的天氣數據 – razak