Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

262
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!