Eu tenho uma string " 11/15/2013 08:00:00
", quero formatá-la para " 11/15/2013
", qual é o DateTimeFormatter
padrão correto ?
Eu tentei muitos e pesquisei no Google e ainda não consegui encontrar o padrão correto.
edit: Estou procurando Joda-Time DateTimeFormatter
, não SimpleDateFormat de Java.
java
jodatime
date-format
iCodeLikeImDrunk
fonte
fonte
Respostas:
Hora Joda
Crie um
DateTimeFormatter
usandoDateTimeFormat.forPattern(String)
Usando o tempo Joda, você faria assim:
Java padrão ≥ 8
O Java 8 introduziu uma nova biblioteca de Data e Hora , facilitando o tratamento de datas e horas. Se você deseja usar o Java versão 8 ou posterior, use um DateTimeFormatter . Como você não possui um fuso horário no seu
String
, um java.time.LocalDateTime ou um LocalDate , caso contrário, as variedades de fuso horário ZonedDateTime e ZonedDate podem ser usadas.Java padrão <8
Antes do Java 8, você usava a SimpleDateFormat e java.util.Date
fonte
SimpleDateFormat
. Leia a documentação da API.Estou adicionando isso aqui, mesmo que as outras respostas sejam completamente aceitáveis. O JodaTime possui analisadores pré-construídos no DateTimeFormat:
Esta é a maioria das opções impressas com seu formato:
fonte
fonte
DateTime.now().toString("HH:mm:ss")
Eu acho que isso vai funcionar, se você estiver usando o JodaTime:
Eu tenho parte disso daqui .
fonte
D
é para o dia do ano, mas meu "link para documentação" não está desatualizado: a documentação à qual vinculei está desatualizada. Eu não estava vinculando à documentação por si só, estava vinculando à página da qual obtive algum código - que por acaso é uma documentação desatualizada.Eu tenho uma opção muito burra, mas funcional. se você tiver a string fullDate = "15/11/2013 08:00:00";
Isso deve funcionar fácil e rápido. :)
fonte
ATUALIZADA:
Você pode: criar uma constante:
Este DateTimeFormat está importando de: (tenha cuidado com isso)
Analise a data com:
Antes:
DateTime.parse ("201711201515", DateTimeFormat.forPattern ("aaaaMMddHHmm")). ToString ("aaaaMMdd");
se quiser data e hora:
fonte
Isso funciona
fonte
Outra maneira de fazer isso é:
Não estou exatamente certo, mas acho que isso pode ser mais rápido / use menos memória do que usar o
.split()
métodofonte