Java » Obtener la hora en Java
Para obtener la hora del sistema, Java nos proporciona la clase Calendar. Mediante dicha clase podremos obtener de una forma separada cada uno de los valores que componen una hora. Entendiendo como hora los segundos, minutos y hora.
Lo primero que tendremos que hacer será instanciar la clase Java Calendar. Para ello podemos hacerlo de dos formas. La primera consiste en obtener una instancia directamente de Calendar:
Calendar calendario = Calendar.getInstance();
La otra es instanciar la clase GregorianCalendar. Lo cual se haría mediante la siguiente línea de código:
Calendar calendario = new GregorianCalendar();
GregorianCalendar es el formato de calendario soportado por una gran parte del mundo. El cual es una mezcla del calendario Juliano y Gregoriano. Dicho calendario fue instituido el 15 de octubre de 1582.
Vamos, que en ambos casos vamos a trabajar con el mismo calendario.
Lo siguiente será declarar las variables que van a almacenar la hora. Como hemos dicho al principio, dicha hora irá dividida en tres partes. Consecuentemente tendremos 3 variables:
int hora, minutos, segundos;
Ahora calcularemos su valor. En la clase Calendar existe un método get(int valor). Dicho método recibe un entero, el cual refleja el valor del calendario que queremos obtener: la hora, el día, los minutos,....
Como la idea es que no nos sepamos que entero está asociado a que valor, la clase Calendar nos proporciona una serie de constantes que nos ayudarán a encontrar dichos valores. Así tendremos las siguientes asociaciones:
- 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
Una vez que conocemos esto, solo nos queda aplicar dichos valores al método get y asociarlos a las variables. Veamos el código:
hora =calendario.get(Calendar.HOUR_OF_DAY); minutos = calendario.get(Calendar.MINUTE); segundos = calendario.get(Calendar.SECOND);
Solo nos quedará volcar los datos por pantalla. Esto, es una línea de código:
System.out.println(hora + ":" + minutos + ":" + segundos);
Visualizar el ejemplo | Descargar el código
![]() Foro sobre Java Básico |
Artículos relacionados:







Enero 28, 2008 #
la razon de porque no saco los microsegundo matemaicamente de los milisegundos es porque pierdo tiempo de ciclo de reloj dividiendo la cantidad. obvio supongo espero lo hayan sabido, que cada instruccion para mi es consumo de tiempo y reloj.
Enero 31, 2008 #
Hola a todos, me gustaria saber como puedo restar dos fechas y que el resultado me lo de en días, por ejemplo: calcular el numero de dias entre las fechas Enero 17 de 1972 y Julio 20 de 1973, y asi calcular la cantidad de dias entre cualquier dos fechas, me gustaria que me respondan por favor, muchas gracias.
Febrero 27, 2008 #
en java quisiera saver como calcular la fecha despues de transcurrir unos dias ejemplo:
hoy 26/02/2008 le agregamos 3 dias despues y esto es lo que quiero obtener 29/02/2008 la fecha pasado los dias
Marzo 23, 2008 #
Ola, pues necesito un código, parqa crear un buscaminas, q este conectado con un cronómetro simultáneamente, y no tengo la menor idea, si hay alguien caritativo q por favor me ayude, es un projecto para este miercoles. Gracias
Abril 23, 2008 #
quisiera un calendario agenda en java si me podrein ayudar please
Mayo 2, 2008 #
Tengo problemas con la hora de java, no me da la hora correcta.
la hora del sistema operativo esta bien pero a la hora de usar Date,Calendar,Gregorian me dan la descontrolada.
java maneja su propia bases de datos de zonas horarias, mi problema quizas se deba por el cambio de uso horario que hubo en mi pais Venezuela.
porfavor si alguien me puede ayudar??
Mayo 6, 2008 #
que tal…no se si ayan dado cuenta que la clase de java (Calendar) tiene un problema al jalar la hora del sistema le agrega 6 horas mas, kien de ustedes sabe por que lo hace y como se resuelve????.
Mayo 26, 2008 #
para jose el del mensage de ocutbre 2007.
de seguro ya sabes cual es el problema pero aquí va lo único que tienes que hacer es donde quieres obtener nuevamente la hora o el minuto vuelves a declarar
calendario = new GregorianCalendar();
obien haces un método donde obtenga la hora y allí dentro pones la linea anterior para cuando lo llames vuelva a crearse el objto con la nueva hora
Junio 13, 2008 #
Gracias por el dato de la hora!!
Septiembre 16, 2008 #
gracias el aporte que necesitabamos