Как отформатировать метку времени java.sql для отображения? - PullRequest
97 голосов
/ 21 июля 2009

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

Ответы [ 6 ]

156 голосов
/ 21 июля 2009

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);
24 голосов
/ 21 июля 2009

Использовать String.format (или java.util.Formatter ):

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

EDIT:
пожалуйста, обратитесь к документации 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". 
9 голосов
/ 21 июля 2009

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

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

8 голосов
/ 21 июля 2009

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

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

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

java.text.SimpleDateFormat

SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
2 голосов
/ 21 июля 2009

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

0 голосов
/ 15 августа 2012

String timeFrSSHStr = timeFrSSH.toString ();

...