2017-02-17 122 views
-1

我收到在以下格式從PHP:momentJS的TODATE()返回無效日期

"end_date":{"date":"2017-02-17 18:52:31.000000","timezone_type":3,"timezone":"UTC"}}] 

在JS/AngularJS結束我做如下:

var end_date = Lease.period_ferme[idx].end_date 
$scope.frame[idx].end_date = moment(end_date).toDate() 
console.log('After'); 
console.log($scope.frame[idx].end_date); //invalid date 
+0

時刻( 「2017年2月17日18:52:31.000000」)。TODATE() 星期五2017年2月17日18點52分31秒GMT-0500(美國東部標準時間)看起來科爾等我。 – inoabrian

+0

爲什麼這個問題被刪除?不知道'momentJs'的Somone說我使用了錯誤的方法? – Volatil3

+5

你是否將整個對象傳遞給moment()作爲參數?也許我不明白,但是你不應該使用'moment(end_date.date)'? –

回答

1

如果你pass an Object to the Moment constructor,該對象應有名爲yearmonth等的字段。您的對象沒有,所以Moment無法解析它並確定它無效。

如連接到你的問題的評論中提及,儘量只用日期字符串創建一個瞬間對象:

$scope.frame[idx].end_date = moment(end_date.date).toDate();

,或者因爲你的JSON指定UTC,嘗試創建使用Moment.utc一個瞬間的對象:

$scope.frame[idx].end_date = moment.utc(end_date.date).toDate();

相關問題