fecha java en formato mmddhhmmss

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.

preguntado el 07 de marzo de 13 a las 22:03

No use Timestamp. Utilizar SimpleDateFormat. -

2 Respuestas

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

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 );

Utiliza 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, .CalendarY 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 ThreeTen-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, YearQuartery 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 or haz tu propia pregunta.