Kết nối qua MCP →

Nhập phép tính

Công thức

Công thức: Công cụ chuyển đổi ngày giữa lịch Julius và lịch Gregory
Show calculation steps (1)
  1. Julian date to Julian Day Number

    Julian date to Julian Day Number: Công cụ chuyển đổi ngày giữa lịch Julius và lịch Gregory

    Same a, y, m substitutions but without the 100/400 century-leap corrections.

Quảng cáo

Kết quả

Ngày sau khi chuyển đổi
1.582 AD  ·  Month 6  ·  Day 5
theo lịch đích
Kỷ nguyên của kết quả 1 (AD / CE)
Số ngày Julius (JDN) 2.299.039
Độ lệch ngày (Gregory trừ Julius) +10 days

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

Công cụ này chuyển đổi một ngày giữa lịch Julius (ra đời năm 45 TCN, cứ năm nào chia hết cho 4 là năm nhuận) và lịch Gregory (cải cách năm 1582, bỏ bớt ba ngày nhuận sau mỗi 400 năm). Bạn chỉ cần nhập một ngày theo một loại lịch, công cụ sẽ trả về ngày tương ứng theo lịch còn lại. Đây là phép chuyển đổi lịch thiên văn/lịch phương Tây thuần túy và áp dụng giống hệt nhau ở mọi nơi — không phụ thuộc vào quốc gia hay khu vực nào.

Sơ đồ thể hiện một ngày theo lịch Julius và một ngày theo lịch Gregory được liên kết qua Số Ngày Julian ở trung tâm
Cả hai lịch đều quy đổi qua Số Ngày Julian dùng chung làm điểm tham chiếu chung.

Cách sử dụng

Hãy chọn lịch nguồn (loại lịch mà ngày bạn nhập đang sử dụng); kết quả sẽ được trả về theo loại lịch còn lại. Chọn kỷ nguyên (CN/SCN hoặc TCN), sau đó nhập năm, tháng và ngày. Công cụ sẽ cho biết kỷ nguyên, năm, tháng và ngày sau khi chuyển đổi, kèm theo Số ngày Julius (JDN) trung gian và độ lệch ngày (lịch Gregory đi trước lịch Julius bao nhiêu ngày tại thời điểm đó).

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

Cách chuyển đổi chính xác và gọn gàng nhất là đi qua JDN — một số đếm ngày dạng số nguyên, độc lập với mọi loại lịch. Bước A chuyển (năm, tháng, ngày) của lịch nguồn thành JDN bằng các công thức số nguyên tiêu chuẩn (một biến thể cho lịch Julius và một biến thể cho lịch Gregory). Bước B chuyển JDN đó sang loại lịch còn lại.

Lịch Gregory sang JDN:

$$\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$$

Lịch Julius sang JDN:

$$\text{JDN} = D + \left\lfloor\frac{153m+2}{5}\right\rfloor + 365y + \left\lfloor\frac{y}{4}\right\rfloor - 32083$$

Tất cả phép chia đều là phép chia làm tròn xuống (floor), và các năm TCN dùng cách đánh số thiên văn: năm thiên văn bằng 1 - B với năm B TCN (1 TCN = 0, 45 TCN = -44), nhờ vậy việc chuyển qua lại qua năm 0 luôn chính xác tuyệt đối.

Trục số phẳng thể hiện bước nhảy 10 ngày giữa ngày của lịch Julius và lịch Gregory vào tháng 10 năm 1582
Vào tháng 10 năm 1582, cải cách lịch Gregory đã bỏ qua 10 ngày, cho thấy độ lệch giữa hai loại lịch.

Ví dụ minh họa

Lịch Gregory ngày 15-06-1582 SCN. Với Yastro = 1582, công thức Gregory-sang-JDN cho ra \(\text{JDN} = 2299039\). Chuyển JDN này sang lịch Julius ta được ngày 05-06-1582. Vậy ngày 15 tháng 6 năm 1582 theo lịch Gregory tương ứng với ngày 5 tháng 6 năm 1582 theo lịch Julius — khi đó lịch Gregory đi trước lịch Julius 10 ngày, đúng với cuộc cải cách tháng 10 năm 1582 (dayDifference = +10).

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

Có năm 0 hay không? Không. Theo hệ kỷ nguyên, ngay sau năm 1 TCN là năm 1 SCN. Trong tính toán nội bộ, chúng tôi dùng cách đánh số thiên văn với năm 0 = 1 TCN, giúp phép tính được liên tục.

Vì sao gọi là "ngoại suy" (proleptic)? Các phép chuyển đổi này áp dụng quy tắc của mỗi loại lịch cho mọi ngày, kể cả những ngày trước khi loại lịch đó thực sự tồn tại trong lịch sử. Chúng không phản ánh việc mỗi quốc gia áp dụng cải cách Gregory vào những thời điểm khác nhau.

Độ lệch lớn dần ra sao theo thời gian? Khoảng 0 ngày quanh năm 200, +10 ngày vào năm 1582, +13 ngày trong giai đoạn 1900–2099, và +14 ngày kể từ năm 2100 trở đi.

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