Como formatar um java.hora de exibição do sql?
Como formato um java.hora do sql a meu gosto ? (para um texto, para fins de visualização)
6 answers
java.sql.Timestamp
extende java.util.Date
. Você pode fazer:
String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);
Ou incluir também o tempo:
String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
Usa O Texto.format (ou java.util.Formatação):
Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)
Editar:
por favor, veja a documentação do Formatter para saber o que TD e TT significa: clique em java.util.Formatação
O primeiro " T " significa:
't', 'T' date/time Prefix for date and time conversion characters.
E o carácter que se segue a 'T':
'T' Time formatted for the 24-hour clock as "%tH:%tM:%tS".
'D' Date formatted as "%tm/%td/%ty".
Para esta questão em particular, o padrão de sugestão de java.text.SimpleDateFormat
funciona, mas tem o efeito colateral que SimpleDateFormat
não é thread-safe e pode ser a origem de particularmente desagradável problemas, pois vai danificar a sua saída em multi-threaded cenários, e você não terá quaisquer exceções!
Eu recomendaria fortementeVer Jodapara algo assim. Por quê? É uma biblioteca de tempo/data muito mais rica e mais intuitiva para Java do que a biblioteca atual(e a base da nova biblioteca padrão Java date/time, para que você esteja aprendendo uma API em breve).
Se está a usar o MySQL e quer que a própria base de dados realize a conversão, use isto:
Se preferir formatar usando Java, use isto:
Java.texto.Formato simplificado
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
Utilizar a DateFormat
. Em uma aplicação internacionalizada, use o formato fornecido por getInstance
. Se você quiser controlar explicitamente o formato, crie um novo SimpleDateFormat
tu mesmo.
Prazos das cadeias = prazos.toString ();