Въпросът ви е неясен и двусмислен. Ще оставя неяснотата на часовата зона.
Подозирам, че по някакъв начин получавате long
или може би String
стойност от DB вместо Date
. В JDBC обикновено бихте искали да използвате подходящите методи за получаване на специфичните за DB типове данни. MySQL TIMESTAMP
типът данни може да бъде получен чрез ResultSet#getTimestamp()
което ви дава java.sql.Timestamp
което от своя страна е подклас на java.util.Date
.
Накратко, следното трябва да направи:
Date date = resultSet.getTimestamp("columnname");
За да го форматирате допълнително в четим от човека формат винаги, когато ще го представите на крайния потребител, използвайте SimpleDateFormat
. Щракнете върху връзката, тя съдържа преглед на всички модели. Ето един пример:
String dateString = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
За да направите обратното, използвайте съответно SimpleDateFormat#parse()
и PreparedStatement#setTimestamp()
.