Ana içeriğe geç

Ücretsiz Tarih Farkı Hesaplayıcı

İki tarih arasındaki tam farkı hesaplayın — yıl, ay, gün, hafta, iş günleri (hafta sonları hariç), saat ve dakika.

Yüklendikten sonra çevrimdışı çalışır

Hızlı ön ayarlar

Farkı görmek için her iki tarihi seçin.

Yaygın kullanımlar

  • Beklenen Tarih Tarihine Kadar Günleri HesaplayınBebeğin beklenen doğum tarihine kadar sayın: büyük güne kadar tam olarak kaç hafta, gün ve saat kaldığını öğrenin.
  • Tatile Kadar GünlerÇalışma günleri, toplam günler ve planlama amaçları için kalan haftalar ile gezinize sayın.
  • Proje Tarihine Kadar Çalışma GünleriBugün ile proje tarihine arasındaki tam çalışma günü sayısını hesaplayın (hafta sonları hariç).
  • Yıldönümü Günlerini Birlikte HesaplayınBirileriyle birlikte tam olarak kaç gün, ay ve yıl olduğunu öğrenin.
  • İki Kişi Arasındaki Yaş Farkı Hesaplayıcıİki doğum tarihi arasındaki tam yaş farkını hesaplayın: yıllar, aylar ve günler arası.

Nasıl çalışır

Tüm hesaplama elle yazılmış UTC aritmetiğiyle tamamen tarayıcıda çalışır — harici kütüphane yok, sunucu isteği yok. Araç YYYY-MM-DD dizelerini takvim bileşenlerine ayrıştırır, yaz saati kaymasını önlemek için farkları Date.UTC() milisaniye zaman damgalarıyla hesaplar ve Pazartesi–Cuma iş günlerini saymak için gün gün ilerler.

  1. 1
    Güvenli tarih ayrıştırma
    Her tarih dizesi bir düzenli ifadeyle doğrulanır ve ardından new Date(string) yerine Date.UTC() ile yeniden oluşturulur; böylece UTC'nin batısındaki kullanıcılar, tarayıcının yalnızca tarih içeren girdileri yerel saat dilimine göre yorumlamasından kaynaklanan bir hafta günü kayması asla görmez.
  2. 2
    UTC milisaniye çıkarma
    İki takvim tarihi Date.UTC(y, m, d) ile UTC gece yarısı zaman damgalarına dönüştürülür. 86.400.000 ms'ye tam sayı bölmesi, aksi halde bir günü 23 veya 25 saat gösterebilecek yaz saati geçişlerinden etkilenmeyen kesin bir tam gün sayısı verir.
  3. 3
    Takvim dökümü ve iş günü sayımı
    Elle yazılmış bir yıl/ay/gün ayrıştırması ay uzunluğu düzensizliklerini işler (gerektiğinde önceki aydan gün ödünç alarak). Ayrı bir döngü iki tarih arasındaki her UTC gününü dolaşır ve sayacı yalnızca Pazartesi–Cuma için artırır (getUTCDay() !== 0 veya 6); böylece yerel ayardan bağımsız kesin bir iş günü toplamı üretir.
  4. 4
    Sonuçlar tüm birimlerde gösterilir
    Toplamlar, yerel ayara uygun basamak gruplaması için sayfanın yerel ayarıyla toLocaleString() kullanılarak biçimlendirilir, ardından aynı anda yıl/ay/gün, toplam gün, iş günü, hafta, saat ve dakika olarak gösterilir. Geçerli tarih çifti history.replaceState ile URL'ye yazılır; böylece herhangi bir sonuç yer imlerine eklenebilir veya doğrudan bağlantı olarak paylaşılabilir.

İlgili araçlar

Sık sorulan sorular