Use LocalDateTime#parse()
(o ZonedDateTime#parse()
si la cadena contiene una parte de zona horaria) para analizar String
un cierto patrón en un LocalDateTime
.
String oldstring = "2011-01-18 00:00:00.0";
LocalDateTime datetime = LocalDateTime.parse(oldstring, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"));
Use LocalDateTime#format()
(o ZonedDateTime#format()
) para formatear un LocalDateTime
a String
en un cierto patrón.
String newstring = datetime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println(newstring); // 2011-01-18
O , cuando aún no está en Java 8, use SimpleDateFormat#parse()
para analizar String
un cierto patrón en un Date
.
String oldstring = "2011-01-18 00:00:00.0";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldstring);
Use SimpleDateFormat#format()
para formatear un Date
a String
en un cierto patrón.
String newstring = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(newstring); // 2011-01-18
Ver también:
Actualización : según su intento fallido: los patrones distinguen entre mayúsculas y minúsculas . Lea el java.text.SimpleDateFormat
javadoc que significan las partes individuales. Así se destaca, por ejemplo, M
durante meses y m
minutos. Además, existen años de cuatro dígitosyyyy
, no cinco yyyyy
. Mire más de cerca los fragmentos de código que publiqué aquí arriba.