El uso más sencillo de tiempo en Java es lo que se requiere en cuando un bloque de código . Simplemente llame System.currentTimeMillis () y almacenar esto en un entero largo antes de que el bloque de código que desee en cuando. Por ejemplo :
largo startTime = System.currentTimeMillis ();
Y luego, después de su bloque de acabados de código (o en caso de que desee que represente el tiempo transcurrido) , llamada System.currentTimeMillis () de nuevo y restar el startTime de ella. Por ejemplo :
largo elapsedTime = System.currentTimeMillis () - startTime ;
Si desea una representación más precisa del tiempo de milisegundos , puede también reemplaza currentTimeMillis () con nanoTime ().
Usando fechas y calendarios
La función nanoTime currentTimeMillis y nos expone a los fundamentos de tratar con el tiempo dentro de un programa, pero no con el trato con el tiempo en términos de común unidades como horas , días y años . Afortunadamente , Java proporciona una clase GregorianCalendar para ayudar en el trabajo con unidades más intuitivas de tiempo. Un GregorianCalendar puede ser construido sin un argumentos para representar automáticamente la hora actual . Por ejemplo :
GregorianCalendar horaActual GregorianCalendar = new ();
O se pueden construir usando uno de los dos métodos siguientes para una hora específica , ya sea en el pasado o en el futuro :
< p> reunión GregorianCalendar = new GregorianCalendar (2009, 12 , 14 , 8 , 00 ) //8:00 AM del 14 de diciembre de meetingEnds 2009GregorianCalendar = new GregorianCalendar (2009, 12 , 14 , 8 , 46, 23 ) //08:46:23 AM el 14 de diciembre de 2009
para utilizar nuestros objetos GregorianCalendar , tendremos que convertir el valor en una clase Date. Por ejemplo :
Fecha meetingDate = meeting.getTime (); Fecha meetingEndsDate = meetingEnds.getTime ();
Calcular tiempo transcurrido
Cálculo del tiempo transcurrido a partir de dos objetos de fecha es entonces un asunto sencillo
largo elapsedTime = meetingEndsDate.getTime () - meetingDate.getTime ( ) .
Esto nos dará el tiempo transcurrido en milisegundos , que se puede convertir en unidades más intuitivas con un poco de aritmética simple .
Uso DateFormat
es una herramienta más importante en Java para el manejo de tiempo, y que es la clase DateFormat , que ofrece una variedad de métodos para imprimirla objetos Date con cuerdas y cadenas para la lectura de nuevo en fechas. . Por ejemplo :
Cadena meetingString = DateFormat.getDateInstance ( DateFormat.MEDIUM ) Formato ( meetingDate ) ;
El argumento dado a getDateInstance () representa el estilo utilizado para la salida de la fecha . Algunos formatos válidos son FULL larga, media y corta. SHORT imprimirá el año , mes y día completo en números , mientras que completa será explicar detalles como la zona horaria con el fin de dar la mayor información acerca de la fecha posible.