/*
* Programa: ObtenerTiempoSegundos.java
* Autor: Javier Angosto
* Descr.: Obtiene, en un intervalo, el tiempo transcurrido en segundos
*/
import java.io.*;
public class ObtenerTiempoSegundos {
/** Función para obtener un nuevo tiempo en milisegundos **/
public long ObtenerTiempo () {
return java.util.Calendar.getInstance().getTimeInMillis();
}
/** main principal **/
public static void main(String[] args) throws IOException {
//Creo una variable del tipo ObtenerTiempoSegundos
ObtenerTiempoSegundos tiempo = new ObtenerTiempoSegundos();
boolean salir=false;
long diferenciaTiempo;
long tiempoTranscurrido;
String opc = "";
long tiempoInicio = java.util.Calendar.getInstance().getTimeInMillis();
while (! salir){
System.out.print("¿Quieres calcular el tiempo (S/N)?: ");
opc = new BufferedReader(new InputStreamReader(System.in)).readLine();
opc = opc.toLowerCase();
if (opc.equals("s")){
salir=true;
}
}
//Llamo a la función definida en la clase ObtenerTiempoSegundos
tiempoTranscurrido = tiempo.ObtenerTiempo();
//Se divide por 1000 para pasar de milisegundos a segundos
diferenciaTiempo = (tiempoTranscurrido - tiempoInicio)/1000;
System.out.println("\nTiempo transcurrido: "+diferenciaTiempo+" segundos.");
}
}
A causa de un ejercicio que he tenido que hacer, he necesitado obtener un tiempo 'x' transcurrido en segundos. Java solamente te ofrece la posibilidad de obtener el tiempo en milisegundos. El siguiente código te lo explica mediante un programa. Copia y pega en tu compilador Java.
Suscribirse a:
Enviar comentarios (Atom)








2 comentarios:
Si el usuario decide que no quiere calcular el tiempo, como sale de la aplicación?
A la clase ObtenerTiempoSegundos no es mejor que tenga dos campos privados que hagan referencia a tiempoInicio y a tiempoTranscurrido?
Agregar un constructor a la clase que inicialice tiempoInicio.
Si se sigue con la idea de que tenga dos campos privados, por comodidad escribiría un método que calcule la diferencia de tiempo.
Un saludo.
Antes de nada, gracias por visitar el blog.
El programa está hecho de manera sencilla y sin utilizar constructores ni nada por el estilo. Lo de los campos privados es buena idea, pero teniendo en cuenta que ejecutamos el main en el mismo documento, no haría falta.
El programa esta ideado para que el usuario vea el funcionamiento de la función 'calendar'. Si el usuario no quiere calcular el tiempo directamente ni se molestará en copiar el código. Además, el bucle de petición está hecho expresamente para que transcurra un mínimo de tiempo.
¡Saludos!
Publicar un comentario