Kết nối qua MCP →

Nhập phép tính

Công thức

Quảng cáo

Kết quả

Ngày kết quả
2024-02-29
năm-tháng-ngày
Năm 2024
Tháng 2
Ngày 29
Lưu ý Ngày đã được kéo về ngày cuối cùng của tháng

Công cụ này làm gì

Công cụ Cộng Tháng Vào Một Ngày nhận một ngày bắt đầu bất kỳ và dời ngày đó về phía trước (hoặc lùi lại nếu bạn nhập số âm) theo số tháng nguyên. Kết quả trả về là ngày dương lịch chính xác. Khác với việc cộng thêm một số ngày cố định, cộng tháng cần được xử lý đặc biệt khi tháng đích ngắn hơn tháng bắt đầu — và công cụ này tự động lo phần đó cho bạn.

Cách sử dụng

Hãy chọn ngày bắt đầu, nhập số tháng muốn cộng thêm (dùng số âm để lùi về quá khứ), rồi xem ngày kết quả. Bảng chi tiết sẽ hiển thị năm, tháng và ngày của kết quả, đồng thời báo cho bạn biết khi ngày đã được kéo về ngày cuối tháng.

Giải thích công thức

Chỉ số tháng theo lịch được tính bằng (năm × 12) + (tháng − 1) + N. Lấy kết quả chia cho 12 sẽ ra năm mới, còn phần dư cho ra tháng mới. Ngày được giữ nguyên — trừ khi ngày đó không còn tồn tại trong tháng mới. Công thức tổng quát là:

$$\text{Result} = \text{Date}(Y, M+N, \min(D, \text{lastDay}(Y, M+N)))$$

trong đó tháng mới và ngày mới được tính như sau:

$$M_{new} = ((M-1)+N) \bmod 12 + 1$$$$D_{new} = \min(D, \text{lastDay}(Y_{new}, M_{new}))$$

Ví dụ, 31 tháng 1 cộng 1 tháng thì không thể thành "31 tháng 2", nên ngày sẽ được kéo về ngày hợp lệ cuối cùng (28 hoặc 29). Cách xử lý này khớp với hành vi của hầu hết các hàm ngày tháng trong bảng tính và thư viện lập trình.

Ngày 31 tháng 1 cộng một tháng được chỉnh thành 28 tháng 2
Nếu tháng đích ngắn hơn, ngày sẽ lùi về ngày hợp lệ cuối cùng (ví dụ 31/1 thành 28/2).
Mũi tên lịch cho thấy ngày được dời tới trước vài tháng
Cộng thêm N tháng sẽ chuyển ngày tới cùng ngày đó trong tháng sau.

Ví dụ minh họa

Ngày bắt đầu là 2024-01-31, cộng thêm 1 tháng. Tháng đích là tháng 2 năm 2024 — một năm nhuận có 29 ngày. Vì \(31 > 29\), ngày được kéo về 29, cho ra kết quả 2024-02-29.

Số ngày trong mỗi tháng

Vì các tháng có độ dài khác nhau, ngày bạn bắt đầu có thể không tồn tại trong tháng đích. Bảng tham khảo dưới đây liệt kê số ngày trong mỗi tháng của lịch Gregorian.

# Tháng Số ngày
1 Tháng Một 31
2 Tháng Hai 28 (29 trong năm nhuận)
3 Tháng Ba 31
4 Tháng Tư 30
5 Tháng Năm 31
6 Tháng Sáu 30
7 Tháng Bảy 31
8 Tháng Tám 31
9 Tháng Chín 30
10 Tháng Mười 31
11 Tháng Mười Một 30
12 Tháng Mười Hai 31

Bốn tháng có 30 ngày là Tháng Tư, Tháng Sáu, Tháng Chín và Tháng Mười Một; những tháng còn lại có 31 ngày, ngoại trừ Tháng Hai. Tháng Hai là tháng duy nhất có độ dài thay đổi: nó có 29 ngày trong năm nhuận và 28 ngày trong các năm khác.

Cách xác định năm nhuận

Theo lịch Gregorian, một năm là năm nhuận nếu nó thỏa mãn các quy tắc sau:

  1. Năm đó chia hết cho 4,
  2. không chia hết cho 100, trừ khi
  3. nó cũng chia hết cho 400.

Vì vậy 2020 và 2024 là những năm nhuận (chia hết cho 4, không chia hết cho 100). Năm 1900 không phải là năm nhuận (chia hết cho 100 nhưng không chia hết cho 400), trong khi 2000 năm nhuận (chia hết cho 400). Đây là lý do tại sao \(\text{31 Tháng Một} + 1 \text{ tháng}\) cho kết quả 28 Tháng Hai trong năm 2023 nhưng 29 Tháng Hai trong năm 2024.

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

Điều gì xảy ra ở cuối tháng? Nếu ngày bắt đầu của bạn không tồn tại trong tháng đích, nó sẽ tự động nhảy về ngày cuối cùng của tháng đó.

Tôi có thể trừ tháng không? Có — chỉ cần nhập số âm như -3 để lùi lại ba tháng.

Công cụ có xử lý năm nhuận không? Có. Việc tính ngày cuối tháng đã tự động tính đến năm nhuận, nên cộng một tháng vào 31 tháng 1 sẽ ra 29 tháng 2 trong năm nhuận và 28 tháng 2 trong năm thường.

Cập nhật lần cuối: