2016-10-22 255 views
2

我有一個後端服務用WebApi編寫,前端用AngularJS編寫。從後端我回來的DateTime如下將WebApi的返回日期時間轉換爲Javascript的日期

public async Task<DateTime> GetDateTime(Guid id) 
{ 
    DateTime dateTime = GetDateTime(); 
    return dateTime; 
} 

內部角控制器我收到響應這樣

service.getDateTime({ 
    id: $scope.id 
}, 
function(data) { 
    $scope.minSelectedScheduleDate = new Date(data); 
    $scope.isBusy = false; 
}, 
function(response) { 
    $scope.isBusy = false; 
}); 

minSelectedScheduleDate失效日期。

當我想看看數據到控制檯,我看到這樣的事情:

Resource { 
    0: "2", 
    1: "0", 
    2: "1", 
    3: "6", 
    4: "-", 
    5: "1", 
    6: "0", 
    7: "-", 
    8: "2", 
    9: "8", 
    10: "T", 
    11: "1", 
    12: "1", 
    13: ":", 
    14: "3", 
    15: "0", 
    16: ":", 
    17: "0", 
    18: "0" 
} 

我的問題是,我怎麼能接受角控制器的有效日期?

回答

0

問題是我直接返回DateTime對象。如果我從我的控制器返回一個匿名對象,那麼JavaScript反序列化everythik罰款。這裏是我的控制器:

public async Task<DateTime> GetDateTime(Guid id) 
{ 
    DateTime dateTime = GetDateTime(); 
    return mew 
    { 
     ScheduleDate = dateTime 
    }; 
} 
1

您應該從您的web api獲取ISO8601格式的字符串的日期。要將字符串轉換爲日期,需要在日期調用parse方法。

$scope.minSelectedScheduleDate = Date.parse(data); 
+0

對不起,這是行不通的。它說'$ scope.minSelectedScheduleDate'是'NaN' –

+0

@EmdadulSawon - 你是否在等待'GetDateTime'動作中的所有任務?你可以分享'service.getDateTime'的角度服務代碼嗎? – Igor

0

我想你日期字符串對象形式迴應,所以試試這個

function(data) { 
    var dateString=""; 
    for(var prop in data) 
     dateString+=data[prop]; 
    $scope.minSelectedScheduleDate=new Date(dateString); 
} 
+0

嗨,我試過了,但沒有工作。 :( –

相關問題