2017-02-17 2 views
-1

Ich bin in folgendem Format von PHP bekommen:momentJS der toDate() gibt ungültige Datum

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

bei JS/AngularJS Ende ich folgendes tue:

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

vor ("2017.02.17 18: 52: 31,000000"). toDate() Fr 17. Februar 2017 18.52.31 GMT-0500 (Eastern Standard Time) Sieht korr ect zu mir. – inoabrian

+0

Warum wurde diese Frage gelöscht? Somone, die "Moments" nicht wissen, dass ich eine falsche Methode benutzt habe? – Volatil3

+5

Übergeben Sie ein ganzes Objekt an Moment() als Argument? vielleicht habe ich das nicht verstanden, aber solltest du 'moment (end_date.date)' nicht benutzen? –

Antwort

1

wenn pass an Object to the Moment constructor Sie, dass das Objekt sollte Felder year, month usw. Ihr Objekt mit dem Namen nicht der Fall, so Moment kann es nicht analysieren und entscheidet, es ist ungültig.

Wie im Kommentar erwähnt auf Ihre Frage angebracht, versuchen Sie nur mit dem Datum Zeichenfolge ein Moment Objekt erstellen:

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

oder, da Ihre JSON UTC gibt, versuchen Sie einen Moment Objekt erstellen Moment.utc mit:

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