Como faço para converter a data atual em string em Java?
java
string
date
formatting
usuário354299
fonte
fonte
Retirado daqui
fonte
Calendar
mais desejável do queDate
?fonte
Use uma
DateFormat
implementação; por exemploSimpleDateFormat
.fonte
tl; dr
Melhor especificar o fuso horário desejado / esperado explicitamente.
java.time
A maneira moderna a partir do Java 8 e posterior é com o framework java.time .
Especifique o fuso horário, pois a data varia em todo o mundo a qualquer momento.
Por padrão, você obtém uma String no formato ISO 8601 padrão.
Para outros formatos, use a
java.time.format.DateTimeFormatter
classe.Sobre java.time
A estrutura java.time é integrada ao Java 8 e posterior. Essas classes suplantar os velhos problemáticos legados aulas de data e hora, como
java.util.Date
,Calendar
, eSimpleDateFormat
.O projeto Joda-Time , agora em modo de manutenção , aconselha a migração para as classes java.time .
Para saber mais, consulte o Tutorial Oracle . E pesquise no Stack Overflow para muitos exemplos e explicações. A especificação é JSR 310 .
Você pode trocar objetos java.time diretamente com seu banco de dados. Use um driver JDBC compatível com JDBC 4.2 ou posterior. Não há necessidade de cordas, não há necessidade de
java.sql.*
classes.Onde obter as classes java.time?
O projeto ThreeTen-Extra estende java.time com classes adicionais. Este projeto é um campo de provas para possíveis adições futuras ao java.time. Você pode encontrar algumas classes úteis aqui, como
Interval
,YearWeek
,YearQuarter
, e mais .fonte
Mais rápido :
fonte
Por hora como AAAA-MM-dd
E a Biblioteca de DateTime é:
import org.joda.time.DateTime;
fonte
DateTime
? Uma resposta sobre Stack Overflow deve ter alguma explicação, pois este site foi feito para ser mais do que uma biblioteca de snippet.A maioria das respostas são / eram válidas. A nova modificação da API JAVA para manipulação de data garantiu que alguma ambiguidade anterior na manipulação de data java fosse reduzida.
Você receberá uma mensagem obsoleta para chamadas semelhantes.
A chamada acima fez com que o desenvolvedor assumisse que um novo objeto Date fornecerá o objeto Date com o carimbo de data / hora atual. Este comportamento não é consistente em outras classes da API Java.
A nova maneira de fazer isso é usando a instância do calendário .
Aqui também a convenção de nomenclatura não é perfeita, mas é muito organizada. Para uma pessoa como eu, que tem dificuldade em assaltar coisas, mas nunca se esqueceria de algo que soasse / parecesse lógico, esta é uma boa abordagem.
Isso é mais sinônimo da vida real
Outra maneira de fazer isso é usando a API de tempo Joda
ou o muito óbvio
ambos retornarão o mesmo resultado.
fonte
java.util.Date
,java.util.Calendar
ejava.text.SimpleTextFormat
estão agora legado , suplantado pelos java.time classes. Além disso, o projeto Joda-Time está agora em modo de manutenção , com a equipe aconselhando a migração para java.time.Clock
implementação em Java 8 é exatamente igual às classes legadas. Somente em Java 9 chega uma nova implementação, capaz de capturar o momento atual com uma resolução tão fina quanto nanossegundos.fonte
String
formato para a sua função.