Java - Validación Hora (fecha introducida < hoy

 
Vista:

Validación Hora (fecha introducida < hoy

Publicado por Nemesis (4 intervenciones) el 26/09/2019 10:07:51
Buenos días,
Necesitaría programar no sé si con una expresión regular sería suficiente o necesitaría una programación personalizada que en un campo fecha de la aplicación (se selecciona la fecha desde un calendario, es decir el formato introducido ya es correcto) me validase la fecha introducida por el usuario La fecha introducida debe ser menor a la fecha de hoy y si pudiese salir un mensaje POP UP informativo mejor.
Gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de pablo
Val: 580
Bronce
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Validación Hora (fecha introducida < hoy

Publicado por pablo (149 intervenciones) el 26/09/2019 14:36:39
Hola nemesis para obtener la hora actual puedes hacerlo de la siguiente forma
1
2
3
4
5
6
7
8
9
10
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
public class Fecha1{
  public static void main(String[] args) {
   DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");
   LocalDateTime now = LocalDateTime.now();
   System.out.println(dtf.format(now));
 
  }
}

Eso siempre te dará la hora y lo formateara de la siguiente manera dia, mes, año o lo adaptas a la fecha que tienes que recibir, al momento de recibir la fecha podrías utilizar un compareTo la fecha nunca sera igual a la del día que tienes a menos que el usuario la coloqué, a cerca de lo del pop up puede ser JOptionPane que te mande un mensaje diciend que la fecha es menor o algo así
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validación Hora (fecha introducida < hoy

Publicado por Edurne (4 intervenciones) el 26/09/2019 15:22:34
No me he explicado bien. Necesito que la fecha/hora que informe el usuario sea inferior a la fecha/hora de hoy.
Fecha/hora de fabricación no puede ser mayor a la Fecha/hora de entrega que teóricamente será cuando el usuario haga el registro en la aplicación.

Gracias Pablo por tu ayuda en todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de pablo
Val: 580
Bronce
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Validación Hora (fecha introducida < hoy

Publicado por pablo (149 intervenciones) el 26/09/2019 16:32:01
Exactamente amigo lo que te faltaría sería el compareTo supongamos que recibes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
DateTimeFormatter fecha1 = dtf.format(parametroque recibo);
DateTimeFormatter  fecha2 = dtf.format(now);
 
switch(fecha1 compareTo(fecha2){
//como el compareTO te retorna un valor de 1 si son distintos o de 0 si 
//son iguales y -1 que es tu caso si es menor , podrías trabajar con los case
case 1:
 System.out.println("La fecha es mayor");
 break;
case 0:
System.out.println("La fecha es igual");
break;
case -1:
System.out.println("La fecha es menor este es el caso que necesito");
break;
}
//con if
if((fecha1 compareTo(fecha2) == -1){
 System.out.println("La fecha es menor");
}
else if((fecha1 compareTo(fecha2) ==0){
 System.out.println("La fecha es igual");
}
else{
 System.out.println("La fecha es distinta");
}

Comentame sí algo de lo que te propongo te ayuda, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 1.825
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Validación Hora (fecha introducida < hoy

Publicado por Billy Joel (468 intervenciones) el 30/09/2019 02:21:00
Entiendo que necesitas un método como el siguiente:
1
2
3
public boolean isFechaMenorQueHoy(Date fecha){
    return Calendar.getInstance().getTime().before(fecha);
}

Devuelve true si la fecha es menor que hoy, de otro modo false.

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar