Pular para o conteúdo
🛠️ToolsShed

Day of Year Calculator

Encontre em que dia do ano (1-365) uma data cai, ou converta um número de dia para uma data.

Sobre esta ferramenta

A Calculadora do Dia do Ano ajuda a determinar qual dia do ano (1 a 365, ou 366 em anos bissextos) cai uma data específica. Esta ferramenta é útil para cientistas, analistas de dados, gerentes de projetos e qualquer pessoa que trabalhe com sequências de datas ou dados sazonais. Ao compreender qual número do dia uma data representa, você pode realizar cálculos de datas relativas, rastrear dias decorridos e identificar eventos sazonais com base em sua posição no ano.

Para usar a calculadora, basta inserir uma data de calendário e a ferramenta converte instantaneamente para o número do dia do ano. Alternativamente, se você conhecer o número do dia, pode inseri-lo junto ao ano para obter a data exata correspondente. A calculadora lida automaticamente com anos bissextos, garantindo resultados precisos se você estiver trabalhando com 29 de fevereiro ou qualquer outra data.

Perguntas Frequentes

Implementação de Código

from datetime import date, timedelta

def day_of_year(year: int, month: int, day: int) -> int:
    """Return the ordinal day of year (1-365/366)."""
    return date(year, month, day).timetuple().tm_yday

def is_leap_year(year: int) -> bool:
    return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)

def days_in_year(year: int) -> int:
    return 366 if is_leap_year(year) else 365

def iso_week_number(year: int, month: int, day: int) -> int:
    return date(year, month, day).isocalendar()[1]

def day_number_to_date(year: int, day_num: int):
    """Convert ordinal day number back to a date."""
    return date(year, 1, 1) + timedelta(days=day_num - 1)

def year_progress(year: int, month: int, day: int) -> float:
    day_num = day_of_year(year, month, day)
    total = days_in_year(year)
    return round(day_num / total * 100, 1)

# Examples
today = date.today()
y, m, d = today.year, today.month, today.day
print(f"Day of year: {day_of_year(y, m, d)}")
print(f"Week number: {iso_week_number(y, m, d)}")
print(f"Leap year: {is_leap_year(y)}")
print(f"Year progress: {year_progress(y, m, d)}%")
print(f"Day 100 of {y}: {day_number_to_date(y, 100)}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.