MMonthAnchor
Ambiente de programação com IA

Mudança de mês com ajuste do dia

Desloque uma data por meses inteiros e limite o dia ao último do mês de destino.

● ● ●MonthAnchor●
Fluxos de trabalho · Mudança de mês com ajuste do dia ×
from calendar import monthrange
from datetime import date

def add_months(day, delta):
    if type(day) is not date or type(delta) is not int:
        raise ValueError("month.input")
    year, month0 = divmod(day.year * 12 + day.month - 1 + delta, 12)
    if not 1 <= year <= 9999:
        raise ValueError("month.year")
    last = monthrange(year, month0 + 1)[1]
    return date(year, month0 + 1, min(day.day, last))
✳Mudança de mês com ajuste do dia
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
Projeto
Teste 31 de janeiro em anos bissextos e comuns e um deslocamento negativo, rejeitando frações e anos fora do intervalo.
Revise antes de aplicar
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
Modelos
Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
Fluxos de trabalho

Mudança de mês com ajuste do dia

Fluxos de trabalho ↗
Fluxos de trabalho
from calendar import monthrange
from datetime import date

def add_months(day, delta):
    if type(day) is not date or type(delta) is not int:
        raise ValueError("month.input")
    year, month0 = divmod(day.year * 12 + day.month - 1 + delta, 12)
    if not 1 <= year <= 9999:
        raise ValueError("month.year")
    last = monthrange(year, month0 + 1)[1]
    return date(year, month0 + 1, min(day.day, last))
Ambiente de programação com IA

Transforme expectativas de calendário em comportamento explícito do software

Mudanças de data costumam esconder uma decisão de produto dentro de uma função utilitária. MonthAnchor é um ambiente de programação com IA para Windows onde você discute essa decisão com a implementação à vista. Abra o projeto e descreva o resultado de calendário esperado antes de pedir ao modelo conectado que edite o código. Inclua os chamadores que dependem do comportamento atual, não apenas a função auxiliar de datas.

Um lembrete recorrente oferece uma tarefa concreta: avançar uma data em um mês quando seu dia não existe no mês de destino. Peça ao assistente que examine a regra atual e só proponha uma mudança depois que você decidir se o dia deve ser limitado ao último dia disponível ou seguir outra política. Esse lembrete é um cenário de desenvolvimento, não um serviço de agendamento fornecido.

Revise a proposta em operações sucessivas. Limitar o dia uma vez pode afetar o que acontece quando outro mês é adicionado; por isso, defina se o dia original de referência deve ser lembrado em outro lugar. Execute testes do projeto para fins de mês, anos bissextos e o intervalo de anos suportado. Verifique tanto a data exibida ao usuário quanto o retorno imediato da função auxiliar antes de aceitar a edição.

MonthAnchor se conecta a endpoints suportados compatíveis com OpenAI ou da Anthropic. Um modelo de IA com mecanismos de recusa removidos pode ajudar quando oferecido pelo serviço configurado; os limites de contexto e o suporte a ferramentas dependem dessa configuração. O modelo pode propor código de calendário, enquanto seus requisitos determinam se o comportamento está correto.

Antes de alterar comportamentos baseados em meses

Por que especificar o avanço de meses separadamente dos dias decorridos?

As duas operações atendem a requisitos diferentes. Um lembrete em uma data de calendário pode não seguir uma duração fixa. Informe ao assistente qual regra o aplicativo promete e examine se a implementação proposta a preserva em meses curtos.

O que acontece quando uma data ajustada avança novamente?

Isso depende de o aplicativo lembrar um dia original de referência ou usar o último resultado como nova entrada. Explicite a sequência pretendida. Teste vários avanços em vez de presumir que um único resultado correto comprova o comportamento recorrente.

Essa alteração também deve adicionar tratamento de fusos horários?

Somente se o requisito afetado envolver horários ou conversão de fuso. Uma função que trabalha apenas com datas pode ter um contrato deliberadamente mais restrito. Pergunte quais chamadores precisam de comportamento adicional antes de ampliar a alteração para outra classe de problema de calendário.

Quais limites merecem um caso de teste na revisão?

Inclua meses de destino curtos, uma transição de ano bissexto, deslocamento negativo e os limites de anos suportados. Escreva os resultados esperados com base na política do aplicativo. Execute esses casos no projeto em vez de confiar apenas nos exemplos do assistente.

Baixar para Windows ↗

MonthAnchor · Atualizado 2026-10-25