quarta-feira, 6 de janeiro de 2010

Transformar hora em segundos - Java


package bilhetagem.calculosDataHora;
/**
*
* @author rogerio
*/
public class CalculosDataHora {

//CALCULA HORA EM SEGUNDOS
public int calcHoraEmSegundos(String horaCompleta){
int resultSegundos = 0;

//pego a posição onde esta os (dois pontos ':') e uso (-2) para ver o inicio da hora
int posicao = horaCompleta.indexOf(":") -2;

/*acho as posições exatas da hora, minuto e segundo e jogo em variaveis
não usei direto int aqui, porque o int corta o zero à esquera (exemplo 01 - fica 1)*/
String h = horaCompleta.substring(posicao, posicao +2 );
String m = horaCompleta.substring(posicao+3, posicao +5 );
String s = horaCompleta.substring(posicao+6, posicao +8 );

//faço calculos da hora em minutos depois em segundos.
int hora = Integer.parseInt(h) * 3600;
int minutos = Integer.parseInt(m) * 60;
int segundos = Integer.parseInt(s);

//somo tudo os resultados em segundos
resultSegundos = hora + minutos + segundos;

//retorno do resultado
return resultSegundos;
}


//METODOS DE TESTE
public static void main(String args[]){
CalculosDataHora c = new CalculosDataHora();
System.out.println(c.calcHoraEmSegundos("05/9/2009 10:59:05"));
}

}