fecha java en formato mmddhhmmss
Frecuentes
Visto 6,954 equipos
3
Quiero agregar la fecha al archivo para mantener el archivo. Quiero fecha en este formato: mmddhhmmss
Entonces, el nombre del archivo es "cGroup0307131614", solo que quiero agregar una marca de tiempo. No es necesario que sea en formato mmddhhmmss, sino en un formato que mantenga la marca de tiempo.
Intenté lo siguiente:
java.util.Date date= new java.util.Date();
System.out.println(new Timestamp(date.getTime()));
Pero o/p es 2013-03-07 14:59:30.252. No quiero espacios, dos puntos o caracteres especiales.
2 Respuestas
6
SimpleDateFormat simpleDateFormat =
new SimpleDateFormat("MMddhhmmss");
String dateAsString = simpleDateFormat.format(new Date());
System.out.println(dateAsString);
Salida:
0307114712
respondido 07 mar '13, 22:03
La zona horaria es CET en caso de que obtenga un resultado diferente: user000001
1
tl; dr
ZonedDateTime
.now( ZoneId.of( "America/Montreal" ) )
.format( DateTimeFormatter.ofPattern( "MMddHHmmss" ) )
java.tiempo
La forma moderna es con las clases java.time que reemplazan las antiguas clases heredadas de fecha y hora.
Instant
Toma el momento actual en UTC con el Instant
clase. La Instant
la clase representa un momento en la línea de tiempo en UTC con una resolución de nanosegundos (hasta nueve (9) dígitos de una fracción decimal).
Instant instant = Instant.now(); // UTC
Puede ser mejor seguir con UTC. Si es así, transfórmate al más flexible. OffsetDateTime
para formatear Especificar ZoneOffset.UTC
constante.
OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC );
DateTimeFormatter
Definir un DateTimeFormatter
para su formato deseado. No recomiendo dejar fuera el año, pero si insistes, allá vamos.
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MMddHHmmss" );
Cree una cadena con ese formateador.
String output = odt.format( f );
ZonedDateTime
Aplique una zona horaria para ver el mismo momento a través de la lente de una región en particular. hora del reloj de pared.
Especifique un nombre adecuado de la zona horaria en el formato de continent/region
. Nunca use la abreviatura de 3-4 letras como EST
or IST
ya que no son zonas horarias reales, no están estandarizadas y ni siquiera son únicas (!).
ZoneId z = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt = instant.atZone( z );
Utilice la herramienta DateTimeFormatter
para generar una cadena, como se ve arriba.
Acerca de java.time
LA java.tiempo framework está integrado en Java 8 y versiones posteriores. Estas clases suplantan al viejo problemático legado clases de fecha y hora como java.util.Date
, .Calendar
Y java.text.SimpleDateFormat
.
LA Joda-Tiempo proyecto, ahora en modo de mantenimiento, aconseja la migración a java.time.
Para obtener más información, consulte el Tutorial de Oracle. Y busque Stack Overflow para obtener muchos ejemplos y explicaciones. La especificación es JSR 310.
¿Dónde obtener las clases java.time?
- JavaSE 8 y SE 9 y después
- Incorporado.
- Parte de la API estándar de Java con una implementación integrada.
- Java 9 agrega algunas funciones y correcciones menores.
- JavaSE 6 y SE 7
- Gran parte de la funcionalidad de java.time está retroportada a Java 6 y 7 en ThreeTen-Backport.
- Android
- LA TresDiezABP el proyecto se adapta ThreeTen-Backport (mencionado anteriormente) para Android específicamente.
- Ver Cómo utilizar….
LA TresDiez-Extra El proyecto extiende java.time con clases adicionales. Este proyecto es un campo de pruebas para posibles adiciones futuras a java.time. Puede encontrar algunas clases útiles aquí, como Interval
, YearWeek
, YearQuarter
y más, .
contestado el 23 de mayo de 17 a las 13:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas java date datetime simpledateformat date-format or haz tu propia pregunta.
No use
Timestamp
. UtilizarSimpleDateFormat
. - Matt Ball