Jak sformatować znacznik czasu java.sql według własnych upodobań? (do łańcucha, do celów wyświetlania)
103
Jak sformatować znacznik czasu java.sql według własnych upodobań? (do łańcucha, do celów wyświetlania)
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 ):
EDYCJA:
zapoznaj się z dokumentacją programu Formatter, aby dowiedzieć się, co oznaczają TD i TT: kliknij java.util.Formatter
Pierwsza litera „T” oznacza:
oraz znak następujący po „T”:
źródło
05/30/17 00:39:18
.W przypadku tego konkretnego pytania standardowa sugestia
java.text.SimpleDateFormat
działa, ale ma niefortunny efekt uboczny, którySimpleDateFormat
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).
źródło
Jeśli używasz MySQL i chcesz, aby sama baza danych wykonywała konwersję, użyj tego:
DATE_FORMAT (data, format)
Jeśli wolisz formatować w Javie, użyj tego:
java.text.SimpleDateFormat
źródło
Użyj
DateFormat
. W międzynarodowej aplikacji użyj formatu udostępnionego przezgetInstance
. Jeśli chcesz jawnie kontrolować format, utwórz nowySimpleDateFormat
samodzielnie.źródło
String timeFrSSHStr = timeFrSSH.toString ();
źródło