/ / Java zmiana formatu daty z niestandardowej na MM dd rrrr - java, data, parsowanie, formatowanie

Java zmienia format daty z niestandardowej daty na MM dd rrrr - java, data, parsowanie, formatowanie

Próbuję przekonwertować wartość ciągu przechowywaną w bazie danych, na przykład „2012-01-20”, aby miała format 20 stycznia 2012 r.

Widziałem kilka przykładów, ale używają Date który współpracuje z SimpleDateFormat.

Na przykład tutaj jest jeden sposób, który próbowałem, ale „próbowanie” zawsze kończy się niepowodzeniem, a wynik jest zerowy

DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
Date convertedDate=null;

try {

convertedDate = df.parse(datePlayed);

} catch(ParseException e){
e.printStackTrace();
}

Odpowiedzi:

12 dla odpowiedzi № 1

Krótko mówiąc, nie używasz odpowiedniego formatu do parsowania. Musisz użyć dwa DateFormat instancje; jeden do analizowania, a drugi do formatowania.

DateFormat parser = new SimpleDateFormat("yyyy-MM-dd");
DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy");
Date convertedDate = parser.parse(datePlayed);
String output = formatter.format(convertedDate);

1 dla odpowiedzi nr 2
Date da = new Date();
SimpleDateFormat ft = new SimpleDateFormat("E, dd/MM/yyyy !");
System.out.println("Update : " + ft.format(da));

Możesz zmienić swój styl daty na: E, dd/MM/yyyy !

Powodzenia !


0 dla odpowiedzi № 3

Jeśli data zostanie odczytana z bazy danych, zapiszto jako java.sql.Date. Możesz wtedy użyć SimpleDateFormat, może po konwersji do java.util.Date. Z obiektu ResultSet można wyodrębnić Daty.

Jeśli chodziło ci o to, że otrzymałeś datę w tekście wyodrębnioną z bazy danych przez kogoś innego i utknąłeś z nią. Spróbuj użyć:

 DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
df.setLenient(true);
convertedDate = df.parse(datePlayed.trim() );

Spróbuj także wyświetlić tekst, który analizujesz przed analizą, aby upewnić się, że wartość datePlayed jest zgodna z oczekiwaniami. Z parseInt, dodatkowe spacje przed lub po danych spowodują błąd, więc wywołanie trim() usuwa dodatkowe spacje.