Cómo dar formato a las fechas en java

Java es un lenguaje de programación versátil. Si utiliza el Encadenar() método para convertir una LocalDate a una cadena, se obtiene una cadena como 10/31/2014. ¿Qué pasa si desea mostrar la fecha en un formato diferente, como 10/31/2014 o 31 de octubre 2014?

Para lograr esto, se puede utilizar el formato método de la LocalDate clase junto con un formateador personalizado que se crea mediante la DateTimeFormatter clase. Para especificar el formato que desea utilizar, se pasa el DateTimeFormatter clase una cadena patrón, utilizando los símbolos de formato que figuran en la Tabla 5-4.

Patrón de formatoExplicación
yAño (dos o cuatro dígitos)
MMes (uno o dos dígitos o tres o más letras)
dDía del mes (por ejemplo, 1, 28)
HHora
mMinuto
sSegundo (0-59 a)
hHora del reloj (1 12 a)
laAm o PM
VID de zona (tales como America / Los_Angeles)
zTiempo nombre de zona (por ejemplo, Pacífico DaylightTime)

La forma más fácil de crear un DateTimeFormatter objeto es utilizar la estática ofPattern método junto con una cadena de patrón. Por ejemplo:

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

Este formateador produce fechas con formato similar 04 SEP 2014. A continuación, puede utilizar el formateador para producir una formateada fecha cadena como esta:

Fecha LocalDate = LocalDate.now () - Cadena formattedDate = date.format (formateador) -

He aquí un sencillo programa que imprime la fecha actual en varios formatos diferentes:

import java.util. * - java.time importación. * -. java.time.format import * - FormatDateTime public class {main (String [] args) {static void públicas LocalDateTime ahora = LocalDateTime.now () - PrintDate (ahora "AAAA-MM-dd") - PrintDate (ahora, "MM-DD-AAAA") - PrintDate (ahora, "DD MMM AAAA") - PrintDate (ahora, "MMMM d, aaaa") - PrintDate (ahora, "HH: mm") - PrintDate (ahora, "h: mm a") -} public static void PrintDate (fecha LocalDateTime, patrón String) {DateTimeFormatter ff = DateTimeFormatter.ofPattern (patrón) -pattern = (patrón + "") .substring (0, 14) -System.out.println (patrón + "" + date.format (f)) -}}

Cuando ejecute este programa, obtendrá salida de la consola que se parece a esto:


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

¿Te diste cuenta que el truco formato fresco? Puede forzar la System.out.println () patrones para imprimir cadenas largas de 14 caracteres por lo que todas las fechas se alinearían El relleno se realiza mediante esta línea mancha de código:

patrón = (patrón + "") .substring (0, 14) -

Aquí una cadena de 14 espacios se añade a la patrón cadena, entonces se toma un largo subcadena 14 caracteres empezando por el primer carácter. El buen espaciamiento en la salida lo hace más fácil para que usted vea el efecto de cada una de las cadenas de patrones.




» » » » Cómo dar formato a las fechas en java