[rails-br] Calcular tempo.

680 views
Skip to first unread message

Ricardo

unread,
May 13, 2010, 12:17:35 PM5/13/10
to rails-br
Galera,

To com uma dúvida aqui, preciso calcular o tempo que o usuário
permaneceu conectado tenho a data e hora de entrada e a data e hora de
saida ambos no formato datetime. Quando faço a subtração (saida -
entrada) ele me retorna um float 60.0(para 1 minuto) 120.0(2 minutos),
minha dúvida é como faço para converter esse resultado em minutos e
horas.


Desde já muito obrigado.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para rails-br+u...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/rails-br?hl=pt-BR.

Joao Paulo Camargo

unread,
May 13, 2010, 12:32:34 PM5/13/10
to rail...@googlegroups.com
Se você tivesse lido a documentação de Time, Date, e etc., saberia que
Time - Time = float, e que Time - int = Time.

http://www.ruby-doc.org/core/classes/Time.html#M000275

2010/5/13 Ricardo <riks...@gmail.com>:
--
João Paulo Camargo | jpca...@gmail.com | http://jpcamargo.com

Tiago Cunha

unread,
May 13, 2010, 1:01:50 PM5/13/10
to rail...@googlegroups.com
eu nao li documentação, mas transformo tudo em string

 var segundo = parseInt(tempoAssunto % 60);
 var minuto = parseInt(tempoAssunto / 60 % 60);
 var horas = parseInt(tempoAssunto / 60 / 60 % 60);
 s = (segundo < 10) ? "0" + segundo : segundo;
 m = (minuto < 10) ? "0" + minuto : minuto;
 text = horas + ":" + m + ":" + s;
resultando "00:00:00"

ajuda?

Robson Mendonça

unread,
May 13, 2010, 1:58:04 PM5/13/10
to rail...@googlegroups.com
Você pode usar o método to_utc_offset_s.

ini = Time.now
fin = Time.now + 20.minutes
dif = (fin - ini).to_utc_offset_s # Results => "+00:27"

Dae, tu adiciona o que precisas fazer para transformar em string.

Falow!

Augusto Xavier

unread,
May 13, 2010, 8:54:59 PM5/13/10
to rail...@googlegroups.com
Você está usando isso em um projeto somente ruby ou rails? Caso sim, então é muito fácil de usar.
A classe Time é turbinada com o ActiveSupport::CoreExtensions::Time
Então você pode fazer algo do tipo:
t1 = Time.now
....
(Time.now - t1).seconds
(Time.now - t1).minuts
(Time.now - t1).hours, etc...
Reply all
Reply to author
Forward
0 new messages