ข้ามไปยังเนื้อหาหลัก

คำนวณวันทำงาน ฟรี

นับวันทำงานระหว่างวันที่ หรือบวก/ลบวันทำงานจากวันที่ ตั้งค่าวันหยุดสุดสัปดาห์และรายการวันหยุดได้

ใช้งานได้แบบออฟไลน์เมื่อโหลดแล้ว

วันหยุดสุดสัปดาห์ (วันที่ไม่ทำงาน)

0 วันหยุดที่กำหนดค่า

การใช้งานทั่วไป

  • วันทำการสำหรับกำหนดเวลาโครงการคำนวณตารางเวลาโครงการที่สมจริงโดยไม่รวมวันหยุดสุดสัปดาห์และวันหยุดนักขัตฤกษ์
  • ติดตามเวลาตอบสนอง SLA ในวันทำการSLA ของลูกค้ามักจะระบุการตอบสนองในวันทำการ — คำนวณเมื่อใดที่กำหนดเวลา 5 วันทำการสิ้นสุด
  • คำนวณวันลาพักผ่อนคุณจะนำวันทำการกี่วัน? คำนวณจำนวนวันทำการที่แน่นอนสำหรับคำขอลาพักผ่อน
  • กำหนดเวลาการยื่นเอกสารของรัฐบาลการยื่นภาษีกำหนดเวลาศาล การยื่นเอกสารเชิงนโยบาย — มักจะนับเป็นวันทำการ
  • ประมาณการจัดส่งคำนวณวันที่จัดส่งที่คาดหวังสำหรับการจัดส่งที่มีราคาเป็นวันทำการ

วิธีการทำงาน

เครื่องมือนี้ทำงานในเบราว์เซอร์ทั้งหมดโดยไม่มีไลบรารีภายนอก — เลขคณิตวันที่ทั้งหมดเป็น JavaScript ที่เขียนขึ้นเองโดยใช้ออบเจกต์ Date เนทีฟ มีสองโหมด: นับวันทำการระหว่างสองวันที่ และคาดการณ์วันที่ในอนาคต (หรืออดีต) โดยบวกหรือลบจำนวนวันทำการที่กำหนด

  1. 1
    แยกวิเคราะห์วันที่โดยไม่คลาดจาก UTC
    อินพุตวันที่ถูกแยกวิเคราะห์โดยแบ่งสตริง YYYY-MM-DD เป็นปี เดือน และวัน แล้วสร้าง Date ท้องถิ่น — ไม่ใช่ Date.parse() — ผลลัพธ์จึงเป็นวันตามปฏิทินที่คุณพิมพ์เสมอ ไม่ว่าเขตเวลาของคุณจะชดเชยเท่าใด
  2. 2
    ตรวจสอบและค้นหาวันหยุด
    แต่ละรายการวันหยุดถูกจับคู่กับ regex YYYY-MM-DD ที่เข้มงวด แล้วตรวจซ้ำโดยสร้าง Date ใหม่และเปรียบเทียบส่วนต่าง ๆ กลับ — วันที่ที่เป็นไปไม่ได้อย่าง 2026-02-31 จึงถูกปฏิเสธและแจ้งใน UI แทนที่จะเลื่อนไปเดือนมีนาคมโดยไม่แจ้ง รายการที่ถูกต้องเก็บใน Set ที่ใช้สตริงวันที่ท้องถิ่นเป็นคีย์เพื่อค้นหาแบบ O(1) ระหว่างลูป
  3. 3
    วนทีละวันพร้อมวันหยุดสุดสัปดาห์ที่ตั้งค่าได้
    สำหรับโหมด 'นับระหว่างวันที่' เครื่องมือไล่ทุกวันในช่วง ตรวจแต่ละวันกับวันหยุดสุดสัปดาห์ที่ตั้งไว้ (ชุดใดก็ได้จากเจ็ดวัน) และ Set วันหยุด แล้วนับวันทำการ วันหยุดสุดสัปดาห์ และวันหยุดที่ตรงแยกกัน สำหรับโหมด 'บวกวันทำการ' จะก้าวไปข้างหน้าหรือถอยหลังทีละวัน ข้ามวันที่ไม่ใช่วันทำการ จนครบจำนวนวันทำการที่ร้องขอ
  4. 4
    แสดงผลลัพธ์ตามภาษา
    วันที่สุดท้ายในโหมด 'บวก' จัดรูปแบบด้วย Intl ในตัวของเบราว์เซอร์ผ่าน toLocaleDateString() จึงแสดงในภาษาและรูปแบบปฏิทินท้องถิ่นของผู้ใช้โดยไม่ต้องใช้ไลบรารีเพิ่ม

เครื่องมือที่เกี่ยวข้อง

คำถามที่พบบ่อย