MCP ile bağlan →

Hesaplamaya Girin

Formül

Reklam

Sonuç

Şu gün doğdunuz:
Monday
haftanın günü
Your next birthday (2027) Friday

Bu Hesaplayıcı Ne İşe Yarar?

Haftanın hangi günü dünyaya geldiğinizi hiç merak ettiniz mi — keyifli bir pazar günü müydü, yoksa yoğun bir pazartesi mi? Bu doğum günü hesaplayıcısı, doğum tarihinizin tam olarak haftanın hangi gününe denk geldiğini söyler. Üstelik bir de bonus olarak bir sonraki doğum gününüzün hangi güne rastlayacağını gösterir. Miladi (Gregoryen) takvimdeki her tarih için çalışır.

Vurgulanan doğum tarihinin bir haftanın günü etiketini gösterdiği takvim
Hesaplayıcı herhangi bir doğum tarihini haftanın gününe eşler.

Nasıl Kullanılır?

Doğum yılınızı girin, açılır menüden doğum ayınızı seçin ve doğduğunuz günü yazın. Ardından "Hesapla" düğmesine basın. Üstteki kutuda doğduğunuz haftanın günü görünür; aşağıdaki tabloda ise yaklaşan doğum gününüzün haftanın hangi gününe denk geldiği yer alır. Böylece kutlama planlarına şimdiden başlayabilirsiniz.

Formülün Açıklaması

Bu araç, herhangi bir tarihin haftanın hangi gününe denk geldiğini bulmak için kullanılan klasik bir algoritma olan Zeller eşleştirmesini (Zeller's congruence) kullanır. Ocak ve Şubat ayları, bir önceki yılın 13. ve 14. ayları olarak kabul edilir. Formül, 0 = Cumartesi, 1 = Pazar şeklinde devam eden bir h değeri hesaplar. Biz bunu, ekranda görmeye alışık olduğunuz Pazar–Cumartesi sıralamasına yeniden uyarlıyoruz. Tamamen tam sayı aritmetiğine dayandığı için sonuç kesindir ve asla sapma göstermez.

$$h = \left( D + \left\lfloor \frac{13(m+1)}{5} \right\rfloor + K + \left\lfloor \frac{K}{4} \right\rfloor + \left\lfloor \frac{J}{4} \right\rfloor + 5J \right) \bmod 7$$ $$\text{where}\quad \left\{ \begin{aligned} D &= \text{Birth Day} \\ m &= \text{Month}\ \ (\text{Jan,Feb} \to 13,14\text{ of prior year}) \\ Y &= \text{Birth Year}\ (\text{adjusted}) \\ K &= Y \bmod 100,\quad J = \left\lfloor Y/100 \right\rfloor \end{aligned} \right.$$
Zeller eşleşmesinin d, m, k, j değişkenlerinin mod 7 sonucuna girdiği şema
Zeller eşleşmesi tarihi bileşenlere ayırır; bunlar birleşip 7'ye göre mod alınır.

Örnek Hesaplama

15 Temmuz 1990 tarihini ele alalım. Burada \(m = 7\), \(d = 15\), yıl = 1990 olduğundan \(k = 90\) ve \(j = 19\) olur. Buna göre $$h = (15 + \lfloor 13\cdot 8/5 \rfloor + 90 + \lfloor 90/4 \rfloor + \lfloor 19/4 \rfloor + 5\cdot 19) \bmod 7 = (15 + 20 + 90 + 22 + 4 + 95) \bmod 7 = 246 \bmod 7 = 1$$ çıkar; bu da Pazar gününe karşılık gelir. Yani 15 Temmuz 1990'da doğan biri bir Pazar günü dünyaya gelmiştir.

Değişken Tanımları

  • \(D\) — Ayın günü. Takvim günü tam olarak yazıldığı gibi, 1'den 31'e kadar. \(D\) için hiçbir zaman ayarlama uygulanmaz.
  • \(m\) — Düzeltilmiş ay numarası. Mart = 3'ten Aralık = 12'ye kadar olduğu gibi kullanılır. Ocak ve Şubat özeldir: bunlar önceki yılın 13. ve 14. ayları olarak kabul edilir. Bunun nedeni Zeller'in uygunluğunun Mart'ı yılın başlangıcı olarak ele alması ve bu da artık günü döngünün sonunda tutar.
  • \(Y\) — Düzeltilmiş yıl. Tarih Ocak veya Şubat ayındaysa, takvim yılından 1 çıkarın (bu aylar bu şemada önceki yıla ait olduğu için). Diğer tüm aylar orijinal yılı tutar.
  • \(K\) — Yüzyılın yılı. \(K = Y \bmod 100\), yani düzeltilmiş yılın son iki basamağı. 2024 için bu 24'tür; 1999 için bu 99'dur.
  • \(J\) — Sıfır tabanlı yüzyıl. \(J = \lfloor Y / 100 \rfloor\), yuvarlamadan yüzyıl numarası. 2024 için bu 20'dir; 1999 için bu 19'dur.
  • \(h\) — Sonuç gün kodu. Tüm terimleri birleştirdikten sonra 7 modulo kalanı, yukarıdaki sonuç kodu tablosu kullanılarak haftanın gününe eşlenen 0–6 arasında bir değer verir.

Daha Fazla Çalışılmış Örnek

Örnek 1 — Ocak tarihi (ay ve yıl değişimini gösterir)

15 Ocak 2000'ü alın. Ay Ocak olduğu için \(m = 13\) ayarlayın ve önceki yılı kullanın, böylece düzeltilmiş yıl \(Y = 1999\) olur. Ardından \(D = 15\), \(K = 1999 \bmod 100 = 99\) ve \(J = \lfloor 1999/100 \rfloor = 19\).

$$h = \left(15 + \left\lfloor \tfrac{13(13+1)}{5} \right\rfloor + 99 + \left\lfloor \tfrac{99}{4} \right\rfloor + \left\lfloor \tfrac{19}{4} \right\rfloor + 5 \cdot 19 \right) \bmod 7$$

Taban terimleri \(\lfloor 182/5 \rfloor = 36\), \(\lfloor 99/4 \rfloor = 24\) ve \(\lfloor 19/4 \rfloor = 4\)'tür. Toplamı: \(15 + 36 + 99 + 24 + 4 + 95 = 273\). Sonra \(273 \bmod 7 = 0\), bu nedenle \(h = 0\) → Cumartesi. 15 Ocak 2000 gerçekten bir Cumartesi idi.

Örnek 2 — Artık gün doğum günü (29 Şubat 2000)

29 Şubat 2000 için, Şubat da kaydırılır: \(m = 14\) ve düzeltilmiş yıl \(Y = 1999\) olur, bu da \(K = 99\), \(J = 19\) ve \(D = 29\) verir.

$$h = \left(29 + \left\lfloor \tfrac{13(14+1)}{5} \right\rfloor + 99 + \left\lfloor \tfrac{99}{4} \right\rfloor + \left\lfloor \tfrac{19}{4} \right\rfloor + 5 \cdot 19 \right) \bmod 7$$

Burada \(\lfloor 195/5 \rfloor = 39\), \(\lfloor 99/4 \rfloor = 24\), \(\lfloor 19/4 \rfloor = 4\). Toplamı: \(29 + 39 + 99 + 24 + 4 + 95 = 290\) ve \(290 \bmod 7 = 3\), bu nedenle \(h = 3\) → Salı. 29 Şubat 2000 bir Salı gününe denk geldi. 2000'in 400'e bölünebildiği için artık yıl olduğuna dikkat edin.

Örnek 3 — Yakın tarih (4 Temmuz 2023)

4 Temmuz 2023 için, Temmuz normal bir aydır, bu nedenle yıl değişmeden \(m = 7\): \(Y = 2023\), \(D = 4\), \(K = 23\), \(J = 20\).

$$h = \left(4 + \left\lfloor \tfrac{13(7+1)}{5} \right\rfloor + 23 + \left\lfloor \tfrac{23}{4} \right\rfloor + \left\lfloor \tfrac{20}{4} \right\rfloor + 5 \cdot 20 \right) \bmod 7$$

Tabanlar \(\lfloor 104/5 \rfloor = 20\), \(\lfloor 23/4 \rfloor = 5\), \(\lfloor 20/4 \rfloor = 5\)'dir. Toplamı: \(4 + 20 + 23 + 5 + 5 + 100 = 157\) ve \(157 \bmod 7 = 3\), bu nedenle \(h = 3\) → Salı. 2023 Bağımsızlık Günü bir Salı günüydü.

Sıkça Sorulan Sorular

Eski tarihlerde de çalışır mı? Evet, proleptik Gregoryen takvimindeki her tarih için çalışır. 1582 takvim reformundan önceki tarihler, o dönemde Jülyen takvimini kullanan tarihsel kayıtlardan farklılık gösterebilir.

Artık yıllar nasıl hesaplanıyor? Zeller eşleştirmesi, modüler aritmetiği sayesinde artık yılları otomatik olarak ele alır; dolayısıyla 29 Şubat tarihleri de doğru biçimde hesaplanır.

Doğum günüm bu yıl çoktan geçtiyse ne olur? Bir sonraki doğum günü sonucu, doğum gününüz bu yıl içinde zaten geçtiyse otomatik olarak gelecek yıla ilerler.

Son güncelleme: