Năm câu hỏi về ngày tháng, một máy tính
Hầu hết mọi câu hỏi về ngày tháng mà mọi người thực sự hỏi đều tập trung vào một trong năm hình dạng: hai ngày cách nhau bao xa, tôi sẽ đến ngày nào nếu tôi cộng hoặc trừ một khoảng thời gian, một ngày cụ thể cách đây bao lâu (hoặc bao lâu) và một ngày rơi vào ngày nào trong tuần. Công cụ này bao gồm cả năm trang mà không cần năm trang riêng biệt.
Về cơ bản, mọi chế độ đều sử dụng cùng một số học nhận biết lịch — cùng một thư viện xử lý chính xác các năm nhuận, các tháng có độ dài khác nhau và tổng số ngày đang chạy kể từ một điểm tham chiếu cố định.
Cách tính chênh lệch giữa hai ngày
Việc đếm số ngày thô giữa hai ngày là phép trừ đơn giản sau khi cả hai được chuyển đổi thành số ngày chạy duy nhất. Việc thể hiện khoảng cách đó theo năm, tháng và ngày là phần khó hơn vì nó phải tính đến độ dài tháng thay đổi và năm nhuận thay vì giả sử mỗi tháng là 30 ngày.
Ví dụ làm việc: từ ngày 10 tháng 3 đến ngày 20 tháng 7 cùng năm. Tức là cách nhau 4 tháng 10 ngày, tổng cộng là 132 ngày. Trong suốt một năm, nó hoạt động theo cùng một cách - từ ngày 15 tháng 1 năm 2026 đến ngày 1 tháng 3 năm 2027 có tổng cộng 1 năm, 1 tháng và 14 ngày hoặc 410 ngày.
Cộng hoặc trừ thời gian của một ngày: bẫy cuối tháng
Adding a fixed number of days is straightforward. Adding months or years is not, because "one month later" doesn't always land on a real date — there's no April 31 or February 30.
Quy ước mà máy tính này tuân theo: việc cộng một tháng vào ngày 31 tháng 1 sẽ rơi vào ngày 28 tháng 2 trong năm bình thường hoặc ngày 29 tháng 2 trong năm nhuận — ngày thực tế cuối cùng của tháng 2 trong lịch, thay vì tràn sang tháng 3. Việc thêm một năm vào ngày 29 tháng 2 vào năm nhuận sẽ có kết quả tương tự như ngày 28 tháng 2 năm sau, vì ngày đó không tồn tại ngoài những năm nhuận.
Hành vi kẹp đến cuối tháng này là quy ước phổ biến nhất, nhưng nó không phải là quy ước duy nhất mà một số công cụ sử dụng — thay vào đó, một số hệ thống sẽ chuyển những ngày bổ sung sang tháng tiếp theo. Nếu bạn đang so khớp phép toán ngày tháng của một hệ thống cụ thể (chu kỳ thanh toán, hợp đồng pháp lý), thì cần xác nhận quy tắc mà hệ thống đó tuân theo.
Ngày làm việc so với ngày dương lịch
A calendar day count includes every day, weekends included. A business day count only counts Monday through Friday, which is what most shipping estimates, contract deadlines, and processing times are actually quoted in — a "5 business day" turnaround starting on a Thursday finishes the following Thursday, not the following Tuesday.
Một hạn chế đáng lưu ý: số ngày làm việc của máy tính này chỉ không bao gồm các ngày cuối tuần, không bao gồm các ngày lễ. Lịch ngày lễ khác nhau tùy theo quốc gia và thường theo tiểu bang, ngành hoặc công ty, do đó, một công cụ chung không thể đoán một cách an toàn những lịch nào áp dụng cho trường hợp của bạn — nếu ngày nghỉ nằm trong phạm vi ngày của bạn, hãy trừ nó khỏi tổng số bằng tay.
Trường hợp loại toán ngày này thực sự được sử dụng
- Contract and legal deadlines defined as "N days from signing" or "N business days from notice."
- Lập kế hoạch dự án - làm việc lùi lại từ ngày khởi động để tìm ra thời điểm một nhiệm vụ cần bắt đầu.
- Chu kỳ thanh toán và đăng ký gia hạn một khoảng thời gian cố định sau ngày thanh toán cuối cùng.
- Lập kế hoạch du lịch và thị thực, trong đó thời gian lưu trú được phép thường bị giới hạn ở một số ngày cụ thể.
- Sự tò mò đơn giản - một ngày lịch sử hoặc tương lai cụ thể rơi vào ngày nào trong tuần.
Nếu điều bạn thực sự cần là độ tuổi chính xác tính theo năm, tháng và ngày kể từ ngày sinh thay vì khoảng cách chung giữa hai ngày tùy ý, thì Máy tính tuổi được xây dựng riêng cho mục đích đó, với các cung hoàng đạo và tính năng theo dõi cột mốc được tích hợp sẵn. Để đếm số ngày giữa hai ngày mà không có phân tích năm/tháng, Bộ đếm ngày đi thẳng đến con số đó.