[python-brasil] função converter segundos e minutos em horas

1,611 views
Skip to first unread message

pedro igor

unread,
Apr 5, 2010, 10:56:24 AM4/5/10
to python...@yahoogrupos.com.br
 

existe alguma função para converter segundos e minutos em horas?
Podem me ajudar! Desde já agradeço

__._,_.___
Atividade nos últimos dias:
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia:              |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
| E se você é usuário do BOL lembre-se de cadastrar o       |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´
.

__,_._,___

Junior Polegato - Linux

unread,
Apr 5, 2010, 2:33:33 PM4/5/10
to python...@yahoogrupos.com.br
 

pedro igor escreveu:


> existe alguma função para converter segundos e minutos em horas?
> Podem me ajudar! Desde já agradeço
>

Olá,

Depende dos argumentos que vai passar para a função, isto é,
pode-se fazer algo assim:

def horas(dias = 0, horas = 0, minutos = 0, segundos = 0, microssegundos
= 0, intervalo = None, tempo = None):
total_horas = dias * 24 + horas + minutos / 60. + segundos / 3600. +
microssegundos / 3600000000.
if intervalo:
total_horas += intervalo.days * 24 + intervalo.seconds / 3600.0 +
intervalo.microseconds / 3600000000.
if tempo:
total_horas += tempo.hour + tempo.minute / 60. + tempo.second /
3600. + tempo.microsecond / 3600000000.
return total_horas

Intervalo (datetime.timedelta) pode ser o objeto mesmo ou a
diferença entre duas data_e_hora (datetime.datetime), e tempo
(datetime.time) é objeto. Resulta na soma de tudo.

Exemplos:

horas(tempo = datetime.time(1,30,36))
1.51

d1 = datetime.datetime.today()
d2 = datetime.datetime.today()
horas(intervalo = d2 - d1)
0.0009177811111111112

horas(1,2,30,36,7200)
26.510002

horas(1,2,30,36,7200, tempo = datetime.time(1,30,36))
28.020002000000002

PS: repare no erro de arredondamento, procure tralhar com no máximo 15
dígitos significativos.

[]'s
Junior Polegato

__._,_.___
Atividade nos últimos dias:
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia:              |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
| E se você é usuário do BOL lembre-se de cadastrar o       |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´
.

__,_._,___

pedro igor

unread,
Apr 5, 2010, 6:43:02 PM4/5/10
to python...@yahoogrupos.com.br
 



--- Em python-brasil@yahoogrupos.com.br, Junior Polegato - Linux <linux@...> escreveu

junior me desculpe mas não entendi muito bem o código. Os objetos days,seconds,hour,minute pertencem ao módulo datetime?
ou seja pra mim rodar a função preciso importar o módulo?
por favor esclareça, desde já agradeço!

__._,_.___
Atividade nos últimos dias:
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia:              |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
| E se você é usuário do BOL lembre-se de cadastrar o       |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´
.

__,_._,___

@maltzsama

unread,
Apr 5, 2010, 2:56:41 PM4/5/10
to python...@yahoogrupos.com.br
 

Você também pode dar uma olhada no "Basic date time formats"[1] e também no
"Time access and conversions"[2] da documentação oficial do python. Aqui
também no site da pleac [3] há bons exemplos de datetime conversions.
Creio que o segundo link irá lhe dar uma boa ideia de como funciona esse
tipo de conversão e o terceiro irá exemplificar melhor.

[1]- http://docs.python.org/library/datetime.html
[2]- http://docs.python.org/library/time.html
[3]- http://pleac.sourceforge.net/pleac_python/datesandtimes.html

Demetrius Albuquerque
Linux & SO www.maltzsama.blogspot.com
Estação do Rock http://www.estacaodorock.com

Em 5 de abril de 2010 14:03, Junior Polegato - Linux <
linux@juniorpolegato.com.br> escreveu:

[As partes desta mensagem que não continham texto foram removidas]

__._,_.___
Atividade nos últimos dias:
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia:              |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
| E se você é usuário do BOL lembre-se de cadastrar o       |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´
.

__,_._,___

Junior Polegato - Linux

unread,
Apr 6, 2010, 7:59:57 AM4/6/10
to python...@yahoogrupos.com.br
 

pedro igor escreveu:


> --- Em python-brasil@yahoogrupos.com.br, Junior Polegato - Linux <linux@...> escreveu
>
>> pedro igor escreveu:
>>
>>> existe alguma função para converter segundos e minutos em horas?
>>> Podem me ajudar! Desde já agradeço
>>>

> junior me desculpe mas não entendi muito bem o código. Os objetos days,seconds,hour,minute pertencem ao módulo datetime?
> ou seja pra mim rodar a função preciso importar o módulo?
> por favor esclareça, desde já agradeço!
>

Olá,

Se usar o módulo datetime pode usufruir dos parâmetros intervalo
e tempo, caso contrário, a função funciona plenamente sem esses
parâmetros, basta não usá-los, teste e veja. Caso não queira nem que
eles apareçam, basta excluí-los da declaração função e também os "ifs"
que os compreendem, ficando a função toda apenas 2 linhas:

def horas(dias = 0, horas = 0, minutos = 0, segundos = 0, microssegundos = 0):
return dias * 24 + horas + minutos / 60. + segundos / 3600. + microssegundos / 3600000000.

[]'s
Junior Polegato

__._,_.___
Atividade nos últimos dias:
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia:              |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
| E se você é usuário do BOL lembre-se de cadastrar o       |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´
.

__,_._,___

pedro igor

unread,
Apr 6, 2010, 8:14:21 AM4/6/10
to python...@yahoogrupos.com.br



--- Em python-brasil@yahoogrupos.com.br, Junior Polegato - Linux <linux@...> escreveu
>
> pedro igor escreveu:

> > --- Em python-brasil@yahoogrupos.com.br, Junior Polegato - Linux <linux@> escreveu

>Obrigado júnior agora compreendi! Valeu!!

__._,_.___
Atividade nos últimos dias:
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia:              |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
| E se você é usuário do BOL lembre-se de cadastrar o       |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´
.

__,_._,___

@maltzsama

unread,
Apr 6, 2010, 9:39:58 AM4/6/10
to python...@yahoogrupos.com.br
 

Creio que seja ainda mais facil vc fazer isso daqui:

import time
import datetime
tuplatime = time.localtime(SEGUNDOS)
print tuplatime

Os modulos time e datetime já vem na instalação padrão do python.



Demetrius Albuquerque
Linux & SO www.maltzsama.blogspot.com
Estação do Rock http://www.estacaodorock.com

Em 6 de abril de 2010 07:29, Junior Polegato - Linux <
linux@juniorpolegato.com.br> escreveu:

>
>
> pedro igor escreveu:
>
> > --- Em python-brasil@yahoogrupos.com.br<python-brasil%40yahoogrupos.com.br>,

[As partes desta mensagem que não continham texto foram removidas]

__._,_.___
Atividade nos últimos dias:
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia:              |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
| E se você é usuário do BOL lembre-se de cadastrar o       |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´
.

__,_._,___
Reply all
Reply to author
Forward
0 new messages