Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

263
Vistas
Quiero obtener el año, el mes, el día, etc. de la fecha de Java para compararlos con la fecha del calendario gregoriano en Java. es posible?

Tengo un objeto de fecha en Java almacenado como tipo de fecha de Java.

También tengo una fecha de creación del calendario gregoriano. La fecha del calendario gregoriano no tiene parámetros y, por lo tanto, es una instancia de la fecha (¿y la hora?) de hoy.

Con la fecha de Java, quiero poder obtener el año, el mes, el día, la hora, los minutos y los segundos del tipo de fecha de Java y comparar la fecha del calendario gregoriano.

Vi que en este momento la fecha de Java se almacena como larga y los únicos métodos disponibles parecen escribir la larga como una cadena de fecha formateada. ¿Hay alguna forma de acceder al año, mes, día, etc.?

Vi que los métodos getYear() , getMonth() , etc. para la clase Date han quedado obsoletos. Me preguntaba cuál es la mejor práctica para usar la instancia de Java Date que tengo con la fecha de GregorianCalendar .

Mi objetivo final es hacer un cálculo de fecha para poder verificar que la fecha de Java esté dentro de tantas horas, minutos, etc. de la fecha y hora de hoy.

Todavía soy un novato en Java y estoy un poco desconcertado por esto.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Usa algo como:

 Date date; // your date // Choose time zone in which you want to interpret your Date Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Europe/Paris")); cal.setTime(date); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH); int day = cal.get(Calendar.DAY_OF_MONTH); // etc.

Cuidado, los meses comienzan en 0, no en 1.

Editar : desde Java 8, es mejor usar java.time.LocalDate en lugar de java.util.Calendar . Vea esta respuesta para saber cómo hacerlo.

over 4 years ago · Santiago Trujillo Denunciar

0

Con Java 8 y versiones posteriores, puede convertir el objeto Date en un objeto LocalDate y luego obtener fácilmente el año, el mes y el día.

 Date date = new Date(); LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); int year = localDate.getYear(); int month = localDate.getMonthValue(); int day = localDate.getDayOfMonth();

Tenga en cuenta que getMonthValue() devuelve un valor int de 1 a 12.

over 4 years ago · Santiago Trujillo Denunciar

0

Podría hacer algo como esto, explicará cómo funciona la clase Date .

 String currentDateString = "02/27/2012 17:00:00"; SimpleDateFormat sd = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); Date currentDate = sd.parse(currentDateString); String yourDateString = "02/28/2012 15:00:00"; SimpleDateFormat yourDateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); Date yourDate = yourDateFormat.parse(yourDateString); if (yourDate.after(currentDate)) { System.out.println("After"); } else if(yourDate.equals(currentDate)) { System.out.println("Same"); } else { System.out.println("Before"); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda