[ Foro de Java ]

¿Como puedo usar el metodo isLeapYear en mi codigo?

02-Jul-2022 05:33
Invitado (Carlos Fuentes)
0 Respuestas

Hola buenas noches, espero que se encuentren muy bien! y espero que me puedan apoyar con mi problema.

Problema:
Necesito validar una fecha a la que yo le escriba en el entorno (tiene que validar con años bisiestos con una fecha completa a la que yo le escriba (DIA/MES/AÑO) en ese orden y en un entorno local online.

PD No puedo usar una expresion regular ni calendar.

Solo lo hare con este metodo:
1
2
3
4
public boolean isLeapYear(long prolepticYear){
return ((prolepticYear % 4 == 0) && (prolepticYear % 100 != 0)) || (prolepticYear % 400 == 0);

}


¿Como puedo implementar el metodo isLeapYear a mi codigo?, les explico algo rapido, tengo 2 componentes (en el componente utility esta el metodo y el otro componente es mi implemento donde iran toda la programacion) todo esto para llevar un orden en mi codigo


Ese va ser el metodo que quiero usar, ahora necesito recalcar que yo meto los datos un entorno local online, yo metere la fecha y puedo validar con pulsando play.

MIS METODOS que use:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Utility {

public boolean isLeapYear(long prolepticYear){
return ((prolepticYear % 4 == 0) && (prolepticYear % 100 != 0)) || (prolepticYear % 400 == 0);

}


public boolean dateNull(String date){
return date == null || date == "";
}

public boolean validateDate(final Object parameter){
return parameter != null;

}

}


Ahora mi implemento solamente es esto:

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
27
//private static final Logger LOGGER = LoggerFactory.getLogger(MGBDRVDC.class);
//@Override
//public Long executeValAccount(Map<String, Object> parameterIn) {
//Long flag = null;
//Utility util = new Utility();
//if(util.validateAcc((String) parameterIn.get(Constants.ACCOUNTNUMBER.getValue()))){
// LOGGER.info("Cuenta valida");


//AQUI VA MI IMPLEMENTO PARA QUE VALIDE LAS FECHAS con años bisiestos y Lo intete hacer pero aun no me sale.
if(parameterIn.get("date")!=null
&& util.validateDate((String) parameterIn.get(Constants.DATE.getValue()))){
}else if (util.dateNull((String)parameterIn.get("date"))){
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

}else {
this.addAdvice(Constants.MGBD100005.getValue());
LOGGER.info("Cuenta no valida");
}

return flag;
}


}

Espero que puedan entenderme, solo necesito yo poner una fecha en el enternal local por ejemplo si pongo 29/02/2012 (es valido) pero si pongo una fecha de 30/02/2012 entonces esta fecha ya no cumple por que no existe ya que es un año bisiesto entonces arrojara un error la cual es 100005.


Entonces intente cambiar muchas cosas pero aun no puedo resolverlo, cuando le doy play al entorno no me arroja ningun error con alguna fecha no valida (30/02/2012)


Este es el implemento que yo hice (Solamente se tiene que editar esto):


1
2
3
4
5
6
7
8
if(parameterIn.get("date")!=null
&& util.validateDate((String) parameterIn.get(Constants.DATE.getValue()))){
}else if (util.dateNull((String)parameterIn.get("date"))){
}

}else {
this.addAdvice(Constants.MGBD100005.getValue());
LOGGER.info("Cuenta no valida");



Espero que puedan ayudarme, gracias y que tengan un excelente fin de semana!
Saludos




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)