Day of Year Calculator
날짜가 몇 번째 날(1-365)인지 찾거나 날짜 번호를 다시 날짜로 변환합니다.
이 도구 소개
날짜 일수 계산기(Day of Year Calculator)는 특정 날짜가 1년 중 몇 번째 날인지를 나타내는 일수(평년 1~365일, 윤년 1~366일)를 즉시 구해줍니다. 과학자, 데이터 분석가, 프로젝트 관리자, 또는 계절 데이터를 다루는 전문가라면 이 도구가 유용합니다. 날짜가 1년의 몇 번째 날에 해당하는지 파악하면 상대적 날짜 계산, 경과 일수 추적, 계절 이벤트 위치 파악이 쉬워집니다.
도구는 매우 간단하게 사용됩니다. 달력의 날짜를 입력하면 그 날이 1년 중 몇 번째 날인지가 표시됩니다. 반대로 일수와 연도를 입력하면 해당하는 실제 날짜가 반환됩니다. 도구는 자동으로 윤년에 대응하므로, 2월 29일을 포함한 모든 날짜에서 정확한 계산이 가능합니다.
자주 묻는 질문
코드 구현
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.