24 Stimmen

Parsing eines Datums mit kurzem Monat ohne Punkt

Ich habe einen String, der ein Datum in Französisch Schauplatz : 09-okt-08 :

Ich muss zerlegen. diese Zeichenfolge, also habe ich dieses SimpleDateFormat entwickelt:

String format2 = "dd-MMM-yy";

Aber ich habe ein Problem mit dem Monatsteil, der mit einem abschließenden Punkt erwartet zu werden scheint:

df2.format(new Date());

gibt mir :

 28-oct.-09

Was ist nun der beste Weg für mich zu machen SimpleDateFormat verstehen ("09-oct-08") ?

Vollständiger Code :

String format2 = "dd-MMM-yy"; 
DateFormat df2 = new SimpleDateFormat(format2,Locale.FRENCH); 
date = df2.parse("09-oct-08"); 

Dies gibt mir : java.text.ParseException: Unparseable date: "09-oct-08"

Und wenn ich dann versuche, mich anzumelden :

df2.format(new Date()); 

Ich erhalte: 28-Okt.-09

1voto

rafaelbiten Punkte 5702

Ich hatte das gleiche Problem (französisch und die zusätzlichen Punkte) und ich glaube, der richtige Weg, um dieses Problem zu lösen, ist durch globales Überschreiben des französischen Gebietsschemas wie folgt:

import moment from 'moment';
moment.locale('fr', { monthsShort: 'janv_févr_mars_avr_mai_juin_juil_août_sept_oct_nov_déc'.split('_') });

Das Original monthsShort französisches Objekt hat die Punkte wie janv._févr._mars_avr._... also entfernen wir sie einfach.

Hier ist ein Link zu Dokumenten wo Sie überprüfen können, was überschrieben werden kann.

Beachten Sie, dass wir kein komplettes Locale-Objekt übergeben müssen, wenn wir nur überschreiben wollen: monthsShort .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X