março 27, 2026

Medidas de Tempo em Código

Por admin

Sobre a Matemática

A unidade legal para a medida de tempo é o segundo, que é o intervalo de tempo igual à fração 1/86400 do dia solar médio, definido de acordo com as convenções da Astronomia.

NomeSímbolosValores
dia86 400sd
hora3 600 sh
minuto60 sm ou min
segundo1 ss ou seg

Sobre o Código

Na linguagem de programação Python,

from – é a palavra-chave usada para importar partes específicas de um módulo ou biblioteca.

datetime – é o módulo da biblioteca padrão que fornece classes para manipulação de datas e horas.

import – é a palavra-chave usada para trazer módulos ou funções externas para o código.

timedelta() – é a classe do módulo datetime que representa a diferença entre duas datas/horas (um intervalo de tempo).

seconds= – é o argumento nomeado usado em funções como timedelta para indicar quantidade de segundos.

{} – é a sintaxe para criar um dicionário vazio ou delimitar pares chave-valor.

def – é a palavra-chave usada para definir uma função.

docstring – é a string de documentação dentro de uma função, classe ou módulo, usada para explicar seu propósito.

if: – é a estrutura condicional que executa um bloco de código se a condição for verdadeira.

not in – é o operador lógico que verifica se um elemento não está presente em uma sequência (lista, string, dicionário, etc.).

or – é o operador lógico que retorna verdadeiro se pelo menos uma das condições for verdadeira.

print() – é a função embutida que exibe informações na saída padrão (geralmente o console).

# – é usado para criar comentários ao código, que são notas para se entender melhor o que o código faz.

Vamos ao código..

from datetime import timedelta

# Dicionário com equivalências em segundos
UNIDADES_TEMPO = {
    "segundo": 1,
    "minuto": 60,
    "hora": 3600,
    "dia": 86400
}

def converter_tempo(valor, unidade_origem, unidade_destino):
    """
    Converte um valor de tempo entre diferentes unidades.
    
    :param valor: número a ser convertido
    :param unidade_origem: unidade de entrada (segundo, minuto, hora, dia)
    :param unidade_destino: unidade de saída (segundo, minuto, hora, dia)
    :return: valor convertido
    """
    if unidade_origem not in UNIDADES_TEMPO or unidade_destino not in UNIDADES_TEMPO:
        raise ValueError("Unidade inválida. Use: segundo, minuto, hora ou dia.")
    
    # Converte para segundos
    valor_em_segundos = valor * UNIDADES_TEMPO[unidade_origem]
    
    # Converte para unidade destino
    return valor_em_segundos / UNIDADES_TEMPO[unidade_destino]
Código Python (.py)O que faz
from datetime import timedeltaImporta a classe timedelta da biblioteca datetime, usada para representar intervalos de tempo.
UNIDADES_TEMPO = {Cria um dicionário chamado UNIDADES_TEMPO que guarda as equivalências das unidades em segundos.
“segundo”: 1,Define que 1 segundo equivale a 1 segundo.
“minuto”: 60,Define que 1 minuto equivale a 60 segundos.
“hora”: 3600,Define que 1 hora equivale a 3600 segundos.
“dia”: 86400Define que 1 dia equivale a 86400 segundos.
}Fecha o dicionário.
def converter_tempo(valor, unidade_origem, unidade_destino):Define uma função chamada converter_tempo que recebe três parâmetros: o valor numérico, a unidade de origem e a unidade de destino.
“”” “””docstring (comentário explicativo da função).
if unidade_origem not in UNIDADES_TEMPO or unidade_destino not in UNIDADES_TEMPO:Verifica se as unidades fornecidas estão no dicionário.
raise ValueError(“Unidade inválida. Use: segundo, minuto, hora ou dia.”)Se não estiverem, lança um erro informando que a unidade é inválida.
valor_em_segundos = valor * UNIDADES_TEMPO[unidade_origem]Converte o valor da unidade de origem para segundos.
return valor_em_segundos / UNIDADES_TEMPO[unidade_destino]Converte de segundos para a unidade de destino e retorna o resultado.
# Exemplos de uso
print("2 horas em minutos:", converter_tempo(2, "hora", "minuto"))
print("3 dias em horas:", converter_tempo(3, "dia", "hora"))
print("120 segundos em minutos:", converter_tempo(120, "segundo", "minuto"))

# Usando timedelta para representar intervalos de tempo
intervalo = timedelta(seconds=3661)
print("Intervalo:", intervalo)
print("Em horas:", intervalo.total_seconds() / 3600)
Código Python (.py)O que faz
print(“2 horas em minutos:”, converter_tempo(2, “hora”, “minuto”))Exemplo: converte 2 horas em minutos e imprime o resultado.
print(“3 dias em horas:”, converter_tempo(3, “dia”, “hora”))Exemplo: converte 3 dias em horas e imprime o resultado.
print(“120 segundos em minutos:”, converter_tempo(120, “segundo”, “minuto”))Exemplo: converte 120 segundos em minutos e imprime o resultado.
intervalo = timedelta(seconds=3661)intervalo = timedelta(seconds=3661)
intervalo = timedelta(seconds=3661)Imprime o intervalo em formato legível (1:01:01).
print(“Em horas:”, intervalo.total_seconds() / 3600)Converte o intervalo total em horas e imprime o resultado.

Saída do código (valor de retorno)…

2 horas em minutos: 120.0
3 dias em horas: 72.0
120 segundos em minutos: 2.0
Intervalo: 1:01:01
Em horas: 1.0169444444444444

Fonte:
– Editora Didática Paulista. Ensino Didático 2000: Ensino Fundamental e Ensino Médio. Sorocaba: Editora Didática Paulista, [s.d.].
– Códigos e comentários gerados por Microsoft Copilot com revisão nossa.
– https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]