Ich versuche, ein korrekt formatiertes Datum in einer Datatable-Spalte anzuzeigen. Ich verwende MomentJS, um die Zelle richtig zu erkennen und zu formatieren, da es als yyyyMMdd
(dh 20051201
) Zeichenfolge aus der Datenbank kommt:Datatables/MomentJS - Ändern des Datumsformats bei Gebietsänderungen
columns: [
{
data: "fechaPago",
"render": function(data){
return (moment(data).isValid()) ? moment(data).format("DD/MM/YYYY") : "-";
}
},
]
Welche wie erwartet funktioniert genau:
Jetzt habe ich Schwierigkeiten, einen flexibleren Ansatz zu implementieren, und das aktuelle Gebietsschema bestimmt das Format. Wir haben 3 verfügbare Sprachen in unserer Webapp und Ich möchte, dass das Datatable die aktuelle Sprache erkennt und das Format (von dd/MM/yyyy
zu MM/dd/yyyy
, wenn es in Englisch ist) ändert.
Ich habe versucht, 'LLLL'
als das Format zu verwenden, aber es gibt das ganze Datum mit Buchstaben zurück, und ich kann nicht herausfinden, wie man es ändert.
Kann ['format ('L')'] (http://momentjs.com/docs/#/displaying/format/) Ihre Anforderungen erfüllen? – VincenzoC
@VincenzoC Danke für die Hilfe Vincenzo. Es tut es teilweise, da es die Formatierung sehr vereinfacht. Es ändert jedoch nicht das Format, wenn ich die Sprache ändere. – wickedchild
Haben Sie bereits Gebietsschema-Informationen in Ihrem Code oder fragen Sie nach, wie Sie das Gebietsschema des Browsers ermitteln können (in diesem Fall suchen Sie unter SO, zum Beispiel [hier] (http://stackoverflow.com/q/1043339/4131048))? – VincenzoC