پرش به محتوای اصلی

محاسبه‌گر تفاوت تاریخ رایگان

تفاوت دقیق بین دو تاریخ را محاسبه کنید — سال، ماه، روز، هفته، روزهای کاری (بدون آخر هفته)، ساعت و دقیقه.

پس از بارگذاری آفلاین کار می‌کند

پیش‌تنظیم‌های سریع

هر دو تاریخ را انتخاب کنید تا تفاوت را ببینید.

کاربردهای رایج

  • روزها را تا تاریخ تحویل مورد انتظار محاسبه کنیدتاریخ تحویل مورد انتظار نوزاد را معکوس کنید: دقیقاً چند هفته، روز و ساعت تا روز بزرگ را بفهمید.
  • روزها تا تعطیلات شماسفر خود را با روزهای کاری، روزهای کل و هفته های باقی ماندی برای اهداف برنامه ریزی معکوس کنید.
  • روزهای کاری تا سررسید پروژهتعداد دقیق روزهای کاری (بدون آخر هفته) بین امروز و سررسید پروژه را محاسبه کنید.
  • روزهای سالگرد را با هم محاسبه کنیددقیقاً چند روز، ماه و سال با کسی خاص بودید را بفهمید.
  • ماشین حساب تفاوت سن بین دو نفرتفاوت سن دقیق بین دو تاریخ تولد را محاسبه کنید: سال ها، ماه ها و روز های جدا شده.

نحوه کار

همه محاسبات کاملاً در مرورگر با استفاده از حساب UTC دست‌نویس اجرا می‌شوند — بدون کتابخانه خارجی، بدون درخواست سروری. ابزار رشته‌های YYYY-MM-DD را به اجزای تقویمی تجزیه می‌کند، اختلاف‌ها را با استفاده از مهرهای زمانی میلی‌ثانیه‌ای Date.UTC() برای جلوگیری از انحراف DST محاسبه می‌کند، و روز‌به‌روز پیمایش می‌کند تا روزهای کاری دوشنبه تا جمعه را بشمارد.

  1. 1
    تجزیه تاریخ ایمن
    هر رشته تاریخ با یک عبارت باقاعده اعتبارسنجی و سپس از طریق Date.UTC() — نه new Date(string) — بازسازی می‌شود، پس کاربران غرب UTC هرگز جابه‌جایی روز هفته ناشی از تفسیر منطقه-زمانی-محلی مرورگر از ورودی‌های فقط-تاریخ را نمی‌بینند.
  2. 2
    تفریق میلی‌ثانیه UTC
    دو تاریخ تقویمی به مهرهای زمانی نیمه‌شب UTC با Date.UTC(y, m, d) تبدیل می‌شوند. تقسیم عدد صحیح بر ۸۶٬۴۰۰٬۰۰۰ میلی‌ثانیه یک تعداد روز کامل دقیق می‌دهد که در برابر انتقال‌های ذخیره‌سازی-نور-روز مصون است، که در غیر این‌صورت می‌تواند یک روز را ۲۳ یا ۲۵ ساعته نشان دهد.
  3. 3
    تفکیک تقویمی و شمارش روز کاری
    یک تجزیه سال/ماه/روز دست‌نویس نامنظمی‌های طول ماه را مدیریت می‌کند (قرض‌گرفتن روزها از ماه قبلی در صورت نیاز). یک حلقه جداگانه هر روز UTC بین دو تاریخ را می‌پیماید و شمارنده‌ای را فقط برای دوشنبه تا جمعه (getUTCDay() !== 0 یا 6) افزایش می‌دهد، و یک جمع دقیق روز-کاری صرف‌نظر از لوکال تولید می‌کند.
  4. 4
    نتایج در همه واحدها نمایش داده شدند
    جمع‌ها با toLocaleString() با استفاده از لوکال صفحه برای گروه‌بندی رقم لوکال-آگاه قالب‌بندی می‌شوند، سپس همزمان به‌صورت سال/ماه/روز، روزهای کل، روزهای کاری، هفته‌ها، ساعت‌ها، و دقیقه‌ها نشان داده می‌شوند. جفت تاریخ فعلی در URL از طریق history.replaceState نوشته می‌شود پس هر نتیجه‌ای را می‌توان نشان‌گذاری یا به‌عنوان لینک مستقیم به اشتراک گذاشت.

ابزارهای مرتبط

سؤالات متداول