Java - hora con minutos bien

 
Vista:
sin imagen de perfil
Val: 22
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

hora con minutos bien

Publicado por José Maria (13 intervenciones) el 22/09/2016 18:42:22
Buenas estoy haciendo una comparacion entre la hora de mi Base de Datos y la Hora de Java usando Calendar.

hora =calendario.get(Calendar.HOUR_OF_DAY);
minutos = calendario.get(Calendar.MINUTE);



String horaactual = String.valueOf(hora + ":" + minutos);

System.out.println("La hora actual es: " + horaactual);


Así saco la hora actual, el problema es cuando por ejemplo son las 12:04 que por algún motivo olvida ese 0 y me lo pone como La hora actual es: 12:4.

Al comparar los 2 String evidentemente no me sale igual porque no es lo mismo.

Alguna idea?

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

hora con minutos bien

Publicado por YYanes (144 intervenciones) el 22/09/2016 19:52:26
Hola amigo:
prueba separar la hora de los minutos, almacenar a ambos valores por separado en variables de tipo entero (para deshacerte de los ceros a la izquierda), y luego comparas minutosBaseDatos con minutosJava, y horaBaseDatos con HoraJava. No será una solución muy "sofisticada" quizás, pero puede que funcione.

Una forma de almacenar la hora en valores enteros por separado es:

1
2
3
4
5
6
7
8
9
10
Calendar calendario = new GregorianCalendar();
int hora, minutos, segundos;
hora =calendario.get(Calendar.HOUR_OF_DAY);
minutos = calendario.get(Calendar.MINUTE);
segundos = calendario.get(Calendar.SECOND);
 
Calendar.HOUR_OF_DAY, es la hora del día en formato 24 horas
Calendar.HOUR, el la hora en formato 12 horas
Calendar.MINUTE, representa a los minutos
Calendar.SECOND, serán los segundos


Un GigaSaludo!!!
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

hora con minutos bien

Publicado por YYanes (144 intervenciones) el 22/09/2016 20:02:00
Lo otro que puedes hacer es crear dos variables de tipo SimpleDateFormat y compararlas entre sí, si la diferencia es cero, es porque ambas son iguales, mira esto:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

Date fechaInicial=dateFormat.parse("2016-02-14");

Date fechaFinal=dateFormat.parse("2016-03-22");

int dias=(int) ((fechaFinal.getTime()-fechaInicial.getTime())/86400000); /* diferencia en días, se divide por 86400000 ya que el resultado es en milisegundos, un día tiene 86400000 milisegundos */

int dif_minutos=(int) ((fechaFinal.getTime()-fechaInicial.getTime())/1440); /* diferencia en minutos, un día tiene 1440 minutos*/
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
sin imagen de perfil
Val: 22
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

hora con minutos bien

Publicado por José Maria (13 intervenciones) el 22/09/2016 20:39:21
Muchísimas gracias!!
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
sin imagen de perfil

hora con minutos bien

Publicado por greenlignt (1 intervención) el 22/09/2016 22:26:59
Creo que seria mucho mas sencillo asi

d35790b627baef4d58576aeb6f31a1c0o
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