Lewati ke konten
πŸ› οΈToolsShed

Day of Year Calculator

Cari nomor hari (1-365) tanggal jatuh pada, atau konversi nomor hari kembali ke tanggal.

Tentang alat ini

Kalkulator Hari dalam Tahun membantu Anda menentukan nomor hari dalam tahun (1 hingga 365, atau 366 pada tahun kabisat) untuk tanggal tertentu. Alat ini berguna bagi ilmuwan, analis data, manajer proyek, dan siapa saja yang bekerja dengan urutan tanggal atau data musiman. Dengan memahami nomor hari mana yang diwakili oleh tanggal, Anda dapat melakukan perhitungan tanggal relatif, melacak hari yang telah berlalu, dan mengidentifikasi acara musiman berdasarkan posisinya dalam tahun.

Untuk menggunakan kalkulator, cukup masukkan tanggal kalender dan alat akan langsung mengonversinya menjadi nomor hari tahunnya. Atau, jika Anda mengetahui nomor hari, Anda dapat memasukkannya bersama tahun untuk mendapatkan tanggal yang tepat sesuai. Kalkulator secara otomatis menangani tahun kabisat, memastikan hasil yang akurat apakah Anda bekerja dengan 29 Februari atau tanggal lainnya.

Pertanyaan yang Sering Diajukan

Implementasi Kode

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.