Как отформатировать временную метку java.sql для отображения?

Как мне создать временную метку java.sql по своему вкусу? (для строки, для отображения)

Ответ 1

java.sql.Timestamp extends java.util.Date. Вам нужно что-то вроде:

String S = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);

Чтобы включить время:

String S = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);

Ответ 2

Используйте String.format(или java.util.Formatter):

Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)

EDIT:
см. документацию Formatter, чтобы узнать, что означает TD и TT: нажмите java.util.Formatter

Первый "T" означает:

'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". 

Ответ 3

В этом конкретном вопросе стандартное предложение java.text.SimpleDateFormat работает, но имеет неприятный побочный эффект: SimpleDateFormat не является потоковым, безопасно и может быть источником особенно неприятных проблем, так как это повредит ваш вывод в многопоточных сценариях, и вы не получите никаких исключений!

Я бы настоятельно рекомендовал посмотреть Joda для чего-либо подобного. Зачем? Это гораздо более насыщенная и интуитивно понятная библиотека времени и времени для Java, чем текущая библиотека (и основы для новой стандартной Java-библиотеки даты и времени, поэтому вы будете изучать скоро будущий стандарт API).

Ответ 4

Если вы используете MySQL и хотите, чтобы сама база данных выполняла преобразование, используйте это:

DATE_FORMAT (дата, формат)

Если вы предпочитаете форматировать с помощью Java, используйте это:

java.text.SimpleDateFormat

SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );

Ответ 5

Используйте DateFormat. В интернационализированном приложении используйте формат getInstance. Если вы хотите явно управлять форматом, создайте новый SimpleDateFormat самостоятельно.

Ответ 6

Строковое времяFrSSHStr = timeFrSSH.toString();