Como transformar segundos em: horas minutos e segundos?

10 respostas
S

Ola mais uma vez peço ajuda, estou tentando fazer um método para trasformar segundo em horas minutos e segundos.
Ex 11030s em: 3h 3min 50s
consigo uma divisão h = segtotal / 3600 real = 3.0638~8
preciso mult 0.0638~8 * 60 para obter os minutos é ai que impaquei.
Grato a quem possa ajudar.

10 Respostas

J

Oi

Soni, isso não precisa ser feito assim desse jeito. Pode-se fazer usando o resto de divisão, assim fica mais fácil.

Por exemplo, tu pega os segundos, faz um “mod” (em Java é o operador %) com 60, ou seja, ele vai pegar o que der, isso serão os minutos e o resto serão os segundos, depois tu pega os minutos em faz outro mod, só que com 24, daí ele vai retornar as horas, o que sobrar serão os minutos. Aí tu terá hora, minuto e segundo…

Se der tempo, mas tarde eu boto um algoritmo legal aqui.

T+

H
/**
   * Formata um inteiro numa String de tempo
   */
  public static String formataTempo(int elapsed)
  {
    int ss = elapsed % 60;
    elapsed /= 60;
    int min = elapsed % 60;
    elapsed /= 60;
    int hh = elapsed % 24;
    return strzero(hh) + ":" + strzero(min) + ":" + strzero(ss);
  }

  private String strzero(int n)
  {
    if(n < 10)
      return "0" + String.valueOf(n);
    return String.valueOf(n);
  }
J

Oi

hipersfot, valeu aí cara, eu nem cheguei a fazer o método e tu já postou um… Blz…

T+

S

Pessoal espero poder contribuir a força que vc’s tem dado.
Obrigado por mais essa. :lol:

H

Eu não quis te atropelar, bróder. É que eu já tinha a benedeta rotina prontinha. :slight_smile:

J

Oi

Eu sei cara, muito pelo contrário, eu agradeço e muito pela contribuição que tu deu hipersoft, afinal, de que seria uma comunidade unida se um não ajudasse o outro???

É isso aí, PJ ROX!!!

:brinde:
:brinde:

S

To apanhando mais que boi ladrão.
Tem coisa errada no meu código.
Se possívle podem dar uma olhada?
código

import javax.swing.*;

 public class Exercicio2
 { 
    
    public static String funçãoTIME (int isst)
 	{
 		
 	   	  
 	  int iss = isst % 60;
 	  isst /= 60;
 	  int imin = isst % 60;
 	  isst /= 60;
 	  int ihh = isst % 24;
 	  
 	  return strzero(ihh)+":"+strzero(imin)+":"strzero(iss);
 	  private String strzero (int n)
  {
  	if (n<10)
  	return "0" + String.valueOf(n);
  	return String.valueOf(n);
  } 
  }
 	  
 
 	  
 	 
     // fim da função TIME
    
    
 	// inicio do programa principal
 	public static void main (String args [])
 	{ 
 	    int iseg;
 	    		
 		iseg = Integer.parseInt (JOptionPane.showInputDialog ("Informe quantos segundos"));
 		
 		
 		 JOptionPane.showMessageDialog (null, "Horas: "+ funçãoTIME(iseg), "TIME",1);
 	   
 	   System.exit ( 0 );	          
 	
 	}
 	
}

[color="blue"]lembrese sempre de colocar o BBCode, Ass.: AnotherX[/color]

T

bom… primeiramente … vc não pode ter códigos após o return…

return encerra o método…

ali está seu erro…

t +

T

Mude está parte do código

public static String funçãoTIME (int isst)
 	{
 		
 	   	  
 	  int iss = isst % 60;
 	  isst /= 60;
 	  int imin = isst % 60;
 	  isst /= 60;
 	  int ihh = isst % 24;
 	  
 	  return strzero(ihh)+":"+strzero(imin)+":"strzero(iss);
   } // va tinha eskecido o } ... e colocado depois da função strzero
//fim da funçãoTime

//Incio da função strzero
 	  private String strzero (int n)
  {
  	if (n<10)
  	return "0" + String.valueOf(n);
  	return String.valueOf(n);
  } 
 //Fim da função strzero....
S

Valeu. (que mancada)
Obrigado

Criado 13 de março de 2004
Ultima resposta 14 de mar. de 2004
Respostas 10
Participantes 4