Chuyển đến nội dung chính

Tính Ngày Làm Việc miễn phí

Đếm ngày làm việc giữa các ngày hoặc cộng/trừ ngày làm việc từ một ngày. Cấu hình xử lý cuối tuần và danh sách ngày lễ.

Hoạt động ngoại tuyến sau khi tải

Ngày cuối tuần (không làm việc)

0 ngày lễ được cấu hình

Công dụng phổ biến

  • Ngày làm việc cho thời hạn dự ánTính toán lịch trình dự án thực tế loại trừ cuối tuần và ngày lễ.
  • Theo dõi thời gian phản hồi SLA trong ngày làm việcSLA khách hàng thường chỉ định phản hồi trong "ngày làm việc" — tính toán chính xác khi nào thời hạn 5 ngày làm việc hết hạn.
  • Tính toán ngày nghỉ phép/nghỉ phépBạn thực sự sẽ nghỉ phép bao nhiêu ngày? Tính toán số ngày làm việc chính xác cho các yêu cầu nghỉ phép.
  • Thời hạn nộp hồ sơ chính phủKhai báo thuế, thời hạn tòa án, đệ trình quy định — thường tính theo ngày làm việc.
  • Ước tính giao hàngTính toán ngày giao hàng dự kiến cho các lô hàng được báo giá theo ngày làm việc.

Cách hoạt động

Công cụ này chạy hoàn toàn trong trình duyệt không dùng thư viện bên ngoài — mọi phép tính ngày là JavaScript tự viết dùng đối tượng Date gốc. Nó có hai chế độ: đếm ngày làm việc giữa hai ngày, và tính ngày trong tương lai (hoặc quá khứ) bằng cách cộng hoặc trừ một số ngày làm việc nhất định.

  1. 1
    Phân tích ngày không bị lệch UTC
    Ngày nhập được phân tích bằng cách tách chuỗi YYYY-MM-DD thành các phần năm, tháng, ngày và tạo Date theo giờ địa phương — không dùng Date.parse() — nên kết quả luôn là đúng ngày lịch bạn nhập, bất kể độ lệch múi giờ.
  2. 2
    Kiểm tra và tra cứu ngày lễ
    Mỗi mục ngày lễ được so khớp với regex YYYY-MM-DD nghiêm ngặt, rồi đối chiếu bằng cách dựng lại Date và so sánh các phần — nên ngày không thể có như 2026-02-31 bị từ chối và đánh dấu trên giao diện thay vì âm thầm chuyển sang tháng 3. Các mục hợp lệ được lưu trong Set với khóa là chuỗi ngày địa phương để tra cứu O(1) trong vòng lặp.
  3. 3
    Lặp từng ngày với ngày cuối tuần có thể cấu hình
    Ở chế độ 'đếm giữa hai ngày', công cụ duyệt từng ngày lịch trong khoảng, kiểm tra mỗi ngày với các ngày cuối tuần bạn cấu hình (bất kỳ tổ hợp nào của bảy ngày) và Set ngày lễ, rồi đếm riêng ngày làm việc, ngày cuối tuần và ngày lễ. Ở chế độ 'cộng ngày làm việc', nó tiến hoặc lùi từng ngày một, bỏ qua ngày không làm việc, cho đến khi đủ số ngày làm việc yêu cầu.
  4. 4
    Hiển thị kết quả theo ngôn ngữ
    Ngày cuối cùng ở chế độ 'cộng' được định dạng bằng Intl tích hợp của trình duyệt qua toLocaleDateString(), nên hiển thị theo ngôn ngữ và quy ước lịch của người dùng mà không cần thư viện bổ sung.

Công cụ liên quan

Câu hỏi thường gặp