Din fråga är vag och tvetydig. Jag lämnar tvetydigheten i tidszonen borta.
Jag misstänker att du på något sätt får en long
eller kanske en String
värde från databasen istället för ett Date
. I JDBC vill du normalt använda lämpliga metoder för att erhålla de DB-specifika datatyperna. MySQL TIMESTAMP
datatyp kan erhållas av ResultSet#getTimestamp()
vilket ger dig en java.sql.Timestamp
som i sin tur är en underklass till java.util.Date
.
I en nöt bör följande göra:
Date date = resultSet.getTimestamp("columnname");
För att formatera det ytterligare i ett läsbart format när du ska presentera det för slutanvändaren, använd SimpleDateFormat
. Klicka på länken, den innehåller en översikt över alla mönster. Här är ett exempel:
String dateString = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
För att göra tvärtom, använd respektive SimpleDateFormat#parse()
och PreparedStatement#setTimestamp()
.