Tengo una cadena " 11/15/2013 08:00:00
", quiero formatearla en " 11/15/2013
", ¿cuál es el DateTimeFormatter
patrón correcto ?
He probado muchos y busqué en Google y todavía no puedo encontrar el patrón correcto.
editar: Estoy buscando Joda-Time DateTimeFormatter
, no SimpleDateFormat de Java.
java
jodatime
date-format
iCodeLikeImDrunk
fuente
fuente
Respuestas:
Tiempo de joda
Crear un
DateTimeFormatter
usoDateTimeFormat.forPattern(String)
Usando el tiempo de Joda lo harías así:
Java estándar ≥ 8
Java 8 introdujo una nueva biblioteca de fecha y hora , lo que facilita el manejo de fechas y horas. Si desea utilizar la versión 8 estándar de Java o posterior, usaría un DateTimeFormatter . Como no tiene una zona horaria en su
String
, java.time.LocalDateTime o LocalDate , de lo contrario, se podrían usar las variedades de zona horaria ZonedDateTime y ZonedDate .Java estándar <8
Antes de Java 8, usaría un SimpleDateFormat y java.util.Date
fuente
SimpleDateFormat
. Lea la documentación de la API.Estoy agregando esto aquí a pesar de que las otras respuestas son completamente aceptables. JodaTime tiene analizadores preconstruidos en DateTimeFormat:
Esta es la mayoría de las opciones impresas con su formato:
fuente
fuente
DateTime.now().toString("HH:mm:ss")
Creo que esto funcionará si estás usando JodaTime:
Tengo parte de esto de aquí .
fuente
D
es para el día del año, pero mi "enlace a la documentación" no está desactualizado: la documentación a la que me vinculé no está actualizada. No me estaba vinculando a la documentación por sí misma, me estaba vinculando a la página de la que obtuve un código, que resulta ser documentación obsoleta.Tengo una opción muy tonta pero que funciona. si tiene la Cadena fullDate = "15/11/2013 08:00:00";
Eso debería funcionar fácil y rápido. :)
fuente
ACTUALIZADO:
Puedes: crear una constante:
Este DateTimeFormat se está importando desde: (tenga cuidado con eso)
Analiza la fecha con:
Antes:
DateTime.parse ("201711201515", DateTimeFormat.forPattern ("aaaaMMddHHmm")). ToString ("aaaaMMdd");
si quieres datetime:
fuente
Esto funciona
fuente
Otra forma de hacerlo es:
No estoy exactamente seguro, pero creo que esto podría ser más rápido / usar menos memoria que usar el
.split()
método.fuente