# Umwandlung des Datumsformates util.Date und sql.Date



## sunnyandy (1. Jan 2007)

Hallo,

habe eine Methode geschrieben, die mir das Datumsformat der Klassen java.util.Date und java.sql.Date ineinander umwandelt.


```
public static java.util.Date convertDateFromDBToJava(java.sql.Date dbDatum)
			throws ParseException {

		String sDBDatum;
		sDBDatum = dbDatum.toString();

		java.util.Date date = new SimpleDateFormat("yyyy-MM-dd")
				.parse(sDBDatum);
		System.out.println(date);
		return date;
	}
```

Wenn ich mir das Datum an der einen Stelle mit println ausdrucken lasse, dann kommt als Ergebnis "Sun Mar 18 00:00:00 CET 1984". Ich wollte aber "18.03.1984" haben, so dass ich es in ein Textfeld schreiben kann.
Mache ich etwas grundlegend falsch oder ist es nur ein kleiner Fehler?

Vielen Dank im Voraus!
Andy


----------



## Roar (1. Jan 2007)

java.sql.Date erbt von java.util.Date was willst du da umwandeln?

wenn du das Datum formatieren willst musst du SimpleDateFormat benutzen.


----------



## Guest (4. Jan 2007)

Hilft es Dir vielleicht, wenn du zwei funktionen schreibst und diese dann entsprechend benutzt?
Ich habe es so gemacht:


static String datum_sql(String datum)
{
// Defaultwert, da Access nicht mir Datenforamten wie "0000-00-00" umgehen kann
	String sql = "1900-01-01";
	if (datum.length() == 10)
	{
		sql = datum.substring(6,10)+"-"+datum.substring(3,5)+"-"+datum.substring(0,2);
	}
	return sql;
}

static String sql_datum(String sql)
{
	String datum = "01.01.1900";
	if (sql.length() == 19)
	{
		datum = sql.substring(8,10)+"."+sql.substring(5,7)+"."+sql.substring(0,4);
	}
	return datum;
}


----------

