2017-07-21 2 views
-1

Ich erhalte Daten vom Server als Liste, zum Beispiel [2017,8,24,9,0]. Wenn ich sie analysiere und in momentjs lokalisiere, sind alle Daten einen Monat voraus: anstelle von August bekomme ich September. Im Fall von [2017,8,31,9,0], bekomme ich invalid date .Ich denke, es ist, weil September nicht 31 Tage ist.In Momentjs, wie Parsen Daten von Server in Java erstellt?

Meine Frage ist, wie Daten wie [2017,8,24,9,0], [2017,8,29,20,0] und [2017,8,31,9,0] in D.MMM [kl.] H:mm formatieren?

Ich verstehe, dass JavaScript datezero-indexed ist, während Java-Datum nicht ist. Ich habe momentjssubtract() Methode verwendet, aber [2017,8,31,9,0] ist immer noch invalid date.

+2

Monate in JavaScript sind nullbasiert; Sie müssen eins abziehen. – jonrsharpe

+0

Java ist kein JavaScript. – Rob

+0

Nein, ich meine wörtlich * von der zweiten Nummer im Array *. Das heißt, * bevor * du es dem Moment gibst. – jonrsharpe

Antwort

1

Das ist ein Javascript-Problem. Aber ist kein Fehler. In js Daten, months are zero based. Es ist, 0 = Januar, 1 = Februar usw. dies der Monat abziehen lösen können durch 1.

var myServerDate = [2017,8,24,9,0]; 

myServerDate[1] = myServerDate[1] -1; 

Dann können Sie mit dem Parsing-Prozess fortzufahren.