Múltiplos do Tempo em Código
Sobre a Matemática
Múltiplos do dia: Semana equivalente a 7 dias. Mês equivalente a 30 dias ou 31 dias. Ano equivalente a 365 ou 366 dias. O mês de 30 dias é usado no comércio. Nos outros cados, segue-se o calendário. O ano comercial tem 360 dias; o civil ou calendário, 365 dias; e o bissexto, de 4 em 4 anos, tem 366 dias.
Múltiplos do mês: Bimestre vale 2 meses. Trimestre vale 3 meses. Semestre vale 6 meses.
Múltiplo do ano: Biênio vale 2 anos. Triênio vale 3 anos. Quadriênio vale 4 anos. Quinquênio ou lustro vale 5 anos. Decênio vale 10 anos. Século vale 100 anos. Milênio vale 1000 anos.
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 ou horas (intervalo de tempo).
date() – é a classe do módulo datetime que representa uma data (ano, mês e dia).
class – é a palavra-chave usada para definir uma classe, que é um modelo para criar objetos.
def – é a palavra-chave usada para definir uma função ou método dentro de uma classe.
__init__ – é o método especial de inicialização em uma classe; é chamado automaticamente quando um objeto é criado.
self – é a referência ao próprio objeto dentro da classe; usado para acessar atributos e métodos da instância.
return – é a palavra-chave usada para devolver um valor de uma função ou método.
days= – é o argumento usado em timedelta para indicar o número de dias que o intervalo deve ter.
. – é o operador de acesso; usado para acessar métodos ou atributos de um objeto ou módulo.
print() – é a função embutida que exibe informações na saída padrão (geralmente o console).
.today() – é o método da classe date que retorna a data atual do sistema.
# – é 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, date
class MultiploTempo:
def __init__(self):
# Definições básicas
self.dias_por_semana = 7
self.dias_por_mes_comercial = 30
self.dias_por_mes_calendario = [30, 31]
self.dias_por_ano_comercial = 360
self.dias_por_ano_civil = 365
self.dias_por_ano_bissexto = 366
def semana(self):
return timedelta(days=self.dias_por_semana)
def mes_comercial(self):
return timedelta(days=self.dias_por_mes_comercial)
def ano_comercial(self):
return timedelta(days=self.dias_por_ano_comercial)
def ano_civil(self):
return timedelta(days=self.dias_por_ano_civil)
def ano_bissexto(self):
return timedelta(days=self.dias_por_ano_bissexto)
# Múltiplos do mês
def bimestre(self):
return self.mes_comercial() * 2
def trimestre(self):
return self.mes_comercial() * 3
def semestre(self):
return self.mes_comercial() * 6
# Múltiplos do ano
def bienio(self):
return self.ano_civil() * 2
def trienio(self):
return self.ano_civil() * 3
def quadrienio(self):
return self.ano_civil() * 4
def quinquenio(self):
return self.ano_civil() * 5
def decenio(self):
return self.ano_civil() * 10
def seculo(self):
return self.ano_civil() * 100
def milenio(self):
return self.ano_civil() * 1000| Código Python (.py) | O que faz |
| from datetime import timedelta, date | Importa da biblioteca padrão datetime as classes timedelta (intervalos de tempo) e date (datas). |
| class MultiploTempo: | Define uma classe chamada MultiploTempo que agrupa os cálculos de múltiplos de tempo. |
| def __init__(self): | Método construtor da classe, executado ao criar um objeto. |
| self.dias_por_semana = 7 | Define que uma semana tem 7 dias. |
| Define que uma semana tem 7 dias. | Define que um mês comercial tem 30 dias. |
| self.dias_por_mes_calendario = [30, 31] | Lista com os possíveis dias de um mês no calendário (30 ou 31). |
| self.dias_por_ano_comercial = 360 | Define que um ano comercial tem 360 dias. |
| self.dias_por_ano_civil = 365 | Define que um ano civil tem 365 dias. |
| self.dias_por_ano_bissexto = 366 | Define que um ano bissexto tem 366 dias. |
| def semana(self): | Método que retorna uma semana como intervalo de tempo. |
| return timedelta(days=self.dias_por_semana) | Cria um objeto timedelta de 7 dias. |
| def mes_comercial(self): | Método que retorna um mês comercial. |
| return timedelta(days=self.dias_por_mes_comercial) | Cria um timedelta de 30 dias. |
| Cria um timedelta de 30 dias. | Método que retorna um ano comercial. |
| return timedelta(days=self.dias_por_ano_comercial) | Cria um timedelta de 360 dias. |
| def ano_civil(self): | Método que retorna um ano civil. |
| return timedelta(days=self.dias_por_ano_civil) | Cria um timedelta de 365 dias. |
| def ano_bissexto(self): | Método que retorna um ano bissexto. |
| return timedelta(days=self.dias_por_ano_bissexto) | Cria um timedelta de 366 dias. |
| Cria um timedelta de 366 dias. | Método que retorna um bimestre. |
| return self.mes_comercial() * 2 | Multiplica o mês comercial por 2 (60 dias). |
| def trimestre(self): | Método que retorna um trimestre. |
| return self.mes_comercial() * 3 | Multiplica o mês comercial por 3 (90 dias). |
| def semestre(self): | Método que retorna um semestre. |
| return self.mes_comercial() * 6 | Multiplica o mês comercial por 6 (180 dias). |
| def bienio(self): | Método que retorna um biênio. |
| return self.ano_civil() * 2 | Multiplica o ano civil por 2 (730 dias). |
| def trienio(self): | Método que retorna um triênio. |
| return self.ano_civil() * 3 | Multiplica o ano civil por 3 (1095 dias). |
| def quadrienio(self): | Método que retorna um quadriênio. |
| return self.ano_civil() * 4 | Multiplica o ano civil por 4 (1460 dias). |
| def quinquenio(self): | Método que retorna um quinquênio. |
| return self.ano_civil() * 5 | Multiplica o ano civil por 5 (1825 dias). |
| def decenio(self): | Método que retorna um decênio. |
| return self.ano_civil() * 10 | Multiplica o ano civil por 10 (3650 dias). |
| def seculo(self): | Método que retorna um século. |
| return self.ano_civil() * 100 | Multiplica o ano civil por 100 (36.500 dias). |
| def milenio(self): | Método que retorna um milênio. |
| return self.ano_civil() * 1000 | Multiplica o ano civil por 1000 (365.000 dias). |
| mt = MultiploTempo() | Cria um objeto da classe MultiploTempo. |
# Exemplo de uso
mt = MultiploTempo()
print("Uma semana equivale a:", mt.semana())
print("Um mês comercial equivale a:", mt.mes_comercial())
print("Um bimestre equivale a:", mt.bimestre())
print("Um quinquênio equivale a:", mt.quinquenio())
print("Um século equivale a:", mt.seculo())
print("Um milênio equivale a:", mt.milenio())
# Exemplo prático: calcular a data daqui a um trimestre
hoje = date.today()
data_futura = hoje + mt.trimestre()
print("Daqui a um trimestre será:", data_futura)| Código Python (.py) | O que faz |
| print(“Uma semana equivale a:”, mt.semana()) | Imprime o valor de uma semana (7 dias). |
| print(“Um mês comercial equivale a:”, mt.mes_comercial()) | Imprime o valor de um mês comercial (30 dias). |
| print(“Um bimestre equivale a:”, mt.bimestre()) | Imprime o valor de um bimestre (60 dias). |
| print(“Um quinquênio equivale a:”, mt.quinquenio()) | Imprime o valor de um quinquênio (1825 dias). |
| print(“Um século equivale a:”, mt.seculo()) | Imprime o valor de um século (36.500 dias). |
| print(“Um milênio equivale a:”, mt.milenio()) | Imprime o valor de um milênio (365.000 dias). |
| hoje = date.today() | Obtém a data atual. |
| data_futura = hoje + mt.trimestre() | Calcula a data futura adicionando um trimestre (90 dias) à data atual. |
| print(“Daqui a um trimestre será:”, data_futura) | Imprime a data futura calculada. |
Saída do código (valor de retorno)…
Uma semana equivale a: 7 days, 0:00:00 Um mês comercial equivale a: 30 days, 0:00:00 Um bimestre equivale a: 60 days, 0:00:00 Um quinquênio equivale a: 1825 days, 0:00:00 Um século equivale a: 36500 days, 0:00:00 Um milênio equivale a: 365000 days, 0:00:00 Daqui a um trimestre será: 2026-06-15
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]