본문으로 건너뛰기
🛠️ToolsShed

타임캡슐 계산기

카운트다운과 진행 추적으로 타임캡슐을 열 때까지 얼마나 남았는지 계산합니다.

빠른 개봉 날짜 설정

이 도구 소개

타임캡슐 계산기는 타임캡슐을 만들거나 밀봉한 날짜부터 개봉할 수 있는 날짜까지의 시간 경과를 추적하는 데 도움이 됩니다. 미래에 발견할 추억, 문서 또는 기념품을 보존할 때 정확히 기다려야 할 시간을 알면 기대감이 높아지고 타임라인에 대한 약속을 유지할 수 있습니다. 이 도구는 카운트다운 추적 및 시각적 진행률을 제공하여 개봉일까지 남은 시간이 얼마나 되는지 한눈에 확인할 수 있습니다.

계산기를 사용하려면 타임캡슐을 개봉할 날짜를 입력하기만 하면 도구가 남은 일수, 주수, 월수 및 연수를 즉시 표시합니다. 다양한 개봉 날짜를 설정하여 여러 캡슐을 추적하고 언제든지 확인할 수 있습니다. 진행 표시줄은 오늘부터 개봉 날짜까지의 여정에서 얼마나 진행되었는지를 시각적으로 나타냅니다.

타임캡슐은 졸업, 결혼식, 또는 인생의 중요한 이벤트와 같은 이정표를 기념하는 데 완벽하며, 이 계산기를 사용하면 정확히 언제 개봉할지 기억하기가 쉬워집니다. 미래의 자신에게 보내는 편지가 담긴 개인 캡슐을 만들든 공유한 추억이 담긴 가족 캡슐을 만들든, 카운트다운을 통해 전통을 더욱 의미 있게 만들고 실수로 잊지 않도록 도와줍니다.

자주 묻는 질문

코드 구현

from datetime import date, timedelta
from dateutil.relativedelta import relativedelta

def time_capsule_info(seal_date: date, open_date: date) -> dict:
    """Calculate time capsule duration and milestones."""
    if open_date <= seal_date:
        raise ValueError("Open date must be after seal date")

    delta = relativedelta(open_date, seal_date)
    total_days = (open_date - seal_date).days
    days_remaining = (open_date - date.today()).days

    # Milestone dates
    milestones = {}
    for pct, label in [(25, "25%"), (50, "Halfway"), (75, "75%")]:
        days_offset = int(total_days * pct / 100)
        milestones[label] = seal_date + timedelta(days=days_offset)

    return {
        "seal_date": seal_date.isoformat(),
        "open_date": open_date.isoformat(),
        "duration_years": delta.years,
        "duration_months": delta.months,
        "duration_days": delta.days,
        "total_days": total_days,
        "days_remaining": max(0, days_remaining),
        "milestones": {k: v.isoformat() for k, v in milestones.items()},
        "decade": f"{(open_date.year // 10) * 10}s",
    }

info = time_capsule_info(date(2025, 1, 1), date(2035, 1, 1))
print(f"Duration: {info['duration_years']} years, {info['duration_months']} months")
print(f"Total days: {info['total_days']}")
print(f"Days remaining: {info['days_remaining']}")
print(f"Opening decade: the {info['decade']}")
for label, dt in info["milestones"].items():
    print(f"  {label}: {dt}")

Comments & Feedback

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