Ответы:
java.sql.Timestamp
расширяется java.util.Date
. Ты можешь сделать:
String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);
Или также включить время:
String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
Используйте String.format (или java.util.Formatter ):
Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)
РЕДАКТИРОВАТЬ:
см. Документацию Formatter, чтобы узнать, что означают TD и TT: щелкните java.util.Formatter
Первая буква «Т» означает:
't', 'T' date/time Prefix for date and time conversion characters.
и символ, следующий за буквой "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
.
Для этого конкретного вопроса стандартное предложение java.text.SimpleDateFormat
работает, но имеет неприятный побочный эффект, который SimpleDateFormat
не является поточно-ориентированным и может быть источником особенно неприятных проблем, поскольку он испортит ваш вывод в многопоточных сценариях, и вы не будете получите исключения!
Я настоятельно рекомендую посмотреть на Joda для чего-нибудь подобного. Зачем ? Это гораздо более богатая и интуитивно понятная библиотека времени / даты для Java, чем текущая библиотека (и основа многообещающей новой стандартной библиотеки даты / времени Java, так что вы узнаете, что скоро станет стандартом. API).
Если вы используете MySQL и хотите, чтобы сама база данных выполняла преобразование, используйте это:
Если вы предпочитаете форматировать с помощью Java, используйте это:
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
Используйте файл DateFormat
. В интернационализированном приложении используйте формат, предоставленный getInstance
. Если вы хотите явно управлять форматом, создайте новый SimpleDateFormat
самостоятельно.