Respostas:
java.sql.Timestampestende java.util.Date. Você pode fazer:
String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);
Ou para incluir também o tempo:
String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
Use String.format (ou java.util.Formatter ):
Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)
EDITAR:
consulte a documentação do Formatter para saber o que significa TD e TT: clique em java.util.Formatter
O primeiro 'T' significa:
't', 'T' date/time Prefix for date and time conversion characters.
e o caractere seguindo aquele '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.
Para esta questão em particular, a sugestão padrão java.text.SimpleDateFormatfunciona, mas tem o infeliz efeito colateral de SimpleDateFormat não ser thread-safe e pode ser a fonte de problemas particularmente desagradáveis, uma vez que corromperá sua saída em cenários multi-threaded, e você não obtenha quaisquer exceções!
Eu recomendo fortemente olhar para Joda para qualquer coisa assim. Por quê ? É uma biblioteca de data / hora muito mais rica e intuitiva para Java do que a biblioteca atual (e a base da nova biblioteca de data / hora Java padrão em ascensão, então você aprenderá um que logo se tornará padrão API).
Se você estiver usando MySQL e quiser que o próprio banco de dados execute a conversão, use isto:
Se você preferir formatar usando Java, use isto:
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
Use um DateFormat. Em um aplicativo internacionalizado, use o formato fornecido por getInstance. Se você deseja controlar explicitamente o formato, crie um novo SimpleDateFormatvocê mesmo.