Công cụ này làm được gì
Công Cụ Cộng Trừ Ngày giúp bạn xác định chính xác ngày rơi vào trước hoặc sau một ngày bắt đầu bao nhiêu ngày tùy chọn. Dù bạn muốn biết "90 ngày nữa là ngày nào" hay "45 ngày trước là ngày mấy", công cụ đều cho ra đáp án kèm theo thứ trong tuần. Nó hoạt động với mọi ngày theo lịch Gregory và tự động xử lý đúng số ngày của từng tháng, năm nhuận cũng như việc chuyển sang năm mới.
Cách sử dụng
Nhập ngày bắt đầu (năm, tháng và ngày), chọn cộng hay trừ ngày, rồi gõ số ngày mong muốn. Công cụ sẽ trả về ngày kết quả theo định dạng YYYY-MM-DD cùng thứ trong tuần. Đây là công cụ tính ngày phổ quát — không phụ thuộc vào quốc gia hay loại lịch nào ngoài lịch Gregory tiêu chuẩn (loại lịch dương đang dùng phổ biến tại Việt Nam và trên toàn thế giới).
Giải thích công thức
Thay vì phải tự xoay xở với số ngày khác nhau của từng tháng và năm nhuận, công cụ chuyển ngày bắt đầu thành Số Ngày Julius (JDN) — một con số đếm ngày liên tục duy nhất. Khi đó, việc cộng hay trừ N ngày chỉ đơn giản là phép tính số nguyên:
$$\text{JDN}_{\text{kết quả}} = \text{JDN}(\text{bắt đầu}) \pm N$$Số Ngày Julius được tính theo công thức:
$$\text{JDN} = d + \left\lfloor\frac{153m+2}{5}\right\rfloor + 365y + \left\lfloor\frac{y}{4}\right\rfloor - \left\lfloor\frac{y}{100}\right\rfloor + \left\lfloor\frac{y}{400}\right\rfloor - 32045$$Kết quả được chuyển ngược lại thành năm, tháng và ngày. Thứ trong tuần được suy ra từ \(\text{JDN} \bmod 7\). Cách làm này cho kết quả chính xác tuyệt đối và tránh được lỗi làm tròn thường gặp khi đếm thủ công từng ngày một.
Ví dụ minh họa
Bắt đầu từ ngày 2024-01-01 và cộng thêm 30 ngày. Số Ngày Julius của ngày 2024-01-01 là 2.460.311. Cộng thêm 30 ta được:
$$2{,}460{,}311 + 30 = 2{,}460{,}341$$chuyển ngược lại thành ngày 2024-01-31. Vì năm 2024 là năm nhuận nên phép tính tự động tính đúng 31 ngày của tháng Một. Nếu cộng thêm một ngày nữa (tổng cộng 31 ngày) thì kết quả sẽ nhảy sang ngày 2024-02-01.
Các Thuật Ngữ Chính Được Giải Thích
- Số Ngày Julian (JDN)
- Một phép đếm liên tục các ngày nguyên kể từ lúc 12 giờ Giờ Quốc tế (UTC) vào ngày 1 tháng 1 năm 4713 BC (lịch Julian suy diễn). Vì mỗi ngày dương lịch ánh xạ tới một số nguyên duy nhất, việc cộng hoặc trừ các ngày trở thành phép toán số nguyên đơn giản: chuyển đổi ngày sang JDN của nó, cộng hoặc trừ độ chênh lệch, sau đó chuyển đổi trở lại. Điều này tránh phải xử lý thủ công độ dài các tháng và năm nhuận.
- Lịch Gregorian
- Lịch dân sự được sử dụng ở hầu hết các nơi trên thế giới ngày nay, được giới thiệu bởi Giáo Hoàng Gregory XIII vào năm 1582. Nó định nghĩa một năm có 365 ngày với một ngày nhuận được thêm vào theo các quy tắc cụ thể, cho độ dài năm bình quân là 365,2425 ngày, điều này theo sát năm dương lịch.
- Lịch Gregorian suy diễn
- Một phần mở rộng của lịch Gregorian được áp dụng cho các ngày trước khi nó được giới thiệu vào năm 1582. Các máy tính sử dụng nó để các ngày lịch sử hoặc rất sớm tuân theo cùng một quy tắc năm nhuận nhất quán, đảm bảo phép toán JDN không bị gián đoạn trên bất kỳ kỷ nguyên nào.
- Năm nhuận
- Một năm chứa 366 ngày (với ngày 29 tháng 2). Một năm Gregorian là năm nhuận nếu nó chia hết cho 4, ngoại trừ các năm thế kỷ, phải chia hết cho 400. Vì vậy năm 2000 và 2024 là năm nhuận, nhưng 1900 và 2100 thì không.
- Ngày trong tuần từ phép toán modulo
- Ngày trong tuần được suy ra trực tiếp từ JDN bằng cách sử dụng số học modulo. Vì các ngày trong tuần lặp lại mỗi 7 ngày, việc tính toán \((\text{JDN} + 1) \bmod 7\) cho ra một giá trị từ 0 đến 6 ánh xạ tới một ngày trong tuần (với JDN 0 rơi vào ngày thứ Hai). Điều này cho phép máy tính đặt tên cho ngày trong tuần của bất kỳ ngày kết quả nào mà không cần bảng tra cứu.
Câu hỏi thường gặp
Công cụ có xử lý được năm nhuận không? Có. Phương pháp Số Ngày Julius vốn đã tính đến năm nhuận và số ngày khác nhau của các tháng, nên ngày 29 tháng Hai trong năm nhuận luôn được xử lý chính xác.
Tôi có thể tính sang năm mới không? Hoàn toàn được. Khi cộng đủ số ngày, kết quả sẽ tự động chuyển sang năm sau (hoặc lùi về năm trước nếu bạn trừ), bạn không cần thao tác gì thêm.
Công cụ dùng loại lịch nào? Lịch Gregory ngoại suy (proleptic Gregorian), tức loại lịch dương dân sự tiêu chuẩn được dùng rộng rãi trên toàn thế giới ngày nay.