GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Como transformar segundos em: horas minutos e segundos?


#1

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.


#2

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+


#3

  /**
   * 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);
  }

#4

Oi

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

T+


#5

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


#6

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


#7

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:


#8

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]


#9

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

return encerra o método...

ali está seu erro....

t +


#10

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....

#11

Valeu. (que mancada)
Obrigado


#12