Como formatar datas em Java

Java é uma linguagem de programação versátil. Se você usar o para sequenciar() método para converter um LocalDate para uma cadeia, você obtém uma string como 2014/10/31. E se você deseja exibir a data em um formato diferente, como 2014/10/31 ou 31 de outubro de 2014?

Para conseguir isso, você pode usar o formato método do LocalDate classe, juntamente com um formatador personalizado que você cria usando o DateTimeFormatter classe. Para especificar o formato que você deseja usar, você passa o DateTimeFormatter Classe A cadeia padrão, usando os símbolos de formatação listados na Tabela 5-4.

padrão de formatoExplicação
yAno (dois ou quatro dígitos)
MMês (um ou dois dígitos ou três ou mais cartas)
dDia do mês (como 1, 28)
HHora
mMinuto
ssegundo (0-a 59)
hhora (1 a 12)
umaAM ou PM
Vfuso horário ID (como America / Los_Angeles)
zTempo Nome da zona (tal como Pacific DaylightTime)

A maneira mais fácil de criar um DateTimeFormatter objecto consiste em utilizar a estática ofPattern Método juntamente com uma cadeia de caracteres padrão. Por exemplo:

DateTimeFormatter formatador-formatador = DateTimeFormatter.ofPattern ( "dd AAAA MMM") -

Este formatador produz datas formatadas como 04 SEP 2014. Você pode então usar o formatador para produzir um formatado encontro string como esta:

data LocalDate = LocalDate.now () - corda formattedDate = date.format (formatador) -

Aqui está um programa simples que imprime a data atual em vários formatos diferentes:

import java.util. * - import java.time. * -. importação java.time.format * - FormatDateTime classe pública {static void main (String [] args) {públicas LocalDateTime agora = LocalDateTime.now () - PrintDate (agora "AAAA-MM-dD") - PrintDate (agora, "MM-dD-AAAA") - PrintDate (agora, "dd MMM AAAA") - PrintDate (agora ", MMMM d, aaaa") - PrintDate (agora, "HH: mm") - PrintDate (agora, "h: mm a") -} PrintDate public static void (data LocalDateTime, padrão string) {DateTimeFormatter ff = DateTimeFormatter.ofPattern (padrão) -pattern = (padrão + "") .substring (0, 14) -System.out.println (padrão + "" + date.format (f)) -}}

Quando você executar este programa, você poderá obter a saída do console que se assemelha a seguinte:

AAAA-MM-DD 2013-10-09MM-DD-AAAA 10-09-2013dd MMM AAAA 09 de outubro 2013MMMM d, AAAA 9 de outubro de 2013HH: mm 20: 29h: mm a 20:29

Você notou o truque legal de formatação? Você pode forçar o System.out.println () padrões para imprimir 14 caracteres longas cadeias de modo todas as datas que se alinhe O preenchimento é realizado por esta linha mancha de código:

padrão = (padrão + "") .substring (0, 14) -

Aqui uma série de espaços 14 é adicionado à padrão corda, em seguida, um de 14 caracteres longo substring é tomada a partir do primeiro caractere. O bom espaçamento na saída torna mais fácil para você ver o efeito de cada uma das cadeias de caracteres padrão.

menu