コンテンツへスキップ
🛠️ToolsShed

Day of Year Calculator

日付が何日目(1~365)かを調べるか、日番号を日付に変換します。

このツールについて

日付の通算日数計算ツールは、特定の日付が1年を通じて何日目であるかを表す通算日数(1~365、うるう年は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.