Odpowiedzi:
java.sql.Timestamp
rozciąga się java.util.Date
. Możesz to zrobić:
String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);
Lub też czas:
String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
Użyj String.format (lub java.util.Formatter ):
Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)
EDYCJA:
zapoznaj się z dokumentacją programu Formatter, aby dowiedzieć się, co oznaczają TD i TT: kliknij java.util.Formatter
Pierwsza litera „T” oznacza:
't', 'T' date/time Prefix for date and time conversion characters.
oraz znak następujący po „T”:
'T' Time formatted for the 24-hour clock as "%tH:%tM:%tS".
'D' Date formatted as "%tm/%td/%ty".
05/30/17 00:39:18
.
W przypadku tego konkretnego pytania standardowa sugestia java.text.SimpleDateFormat
działa, ale ma niefortunny efekt uboczny, który SimpleDateFormat
nie jest bezpieczny dla wątków i może być źródłem szczególnie nieprzyjemnych problemów, ponieważ uszkodzi to wyjście w scenariuszach wielowątkowych, a ty nie uzyskać wyjątki!
Chciałbym gorąco polecić patrząc na Joda do czegoś takiego. Czemu ? Jest to znacznie bogatsza i bardziej intuicyjna biblioteka czasu / daty dla Javy niż obecna biblioteka (i podstawa nadchodzącej nowej standardowej biblioteki daty / czasu Java, więc nauczysz się wkrótce stać się standardem API).
Jeśli używasz MySQL i chcesz, aby sama baza danych wykonywała konwersję, użyj tego:
Jeśli wolisz formatować w Javie, użyj tego:
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
Użyj DateFormat
. W międzynarodowej aplikacji użyj formatu udostępnionego przez getInstance
. Jeśli chcesz jawnie kontrolować format, utwórz nowy SimpleDateFormat
samodzielnie.