Đổi Ngày tính lịch âm Việt Nam bằng thuật toán thiên văn, không tra bảng có sẵn. Trang này mô tả cách tính, phạm vi hỗ trợ và cách chúng tôi kiểm thử.
Thuật toán
Công cụ dùng thuật toán do Hồ Ngọc Đức công bố trong bài Thuật toán tính âm lịch, dựa trên các công thức thiên văn của Jean Meeus. Các quy tắc chính:
- Ngày đầu tháng âm là ngày chứa thời điểm sóc (trăng non), tính theo giờ Việt Nam UTC+7.
- Tháng 11 âm lịch luôn chứa ngày Đông chí.
- Năm có 13 tháng âm (giữa hai tháng 11) thì có tháng nhuận: tháng đầu tiên không chứa trung khí được làm tháng nhuận và mang số của tháng liền trước.
Do dùng UTC+7, lịch Việt Nam đôi khi khác lịch Trung Quốc (UTC+8) một ngày ở mùng 1, hoặc khác vị trí tháng nhuận. Ví dụ Tết năm 1985 ở Việt Nam là 21/1/1985, còn ở Trung Quốc là 20/2/1985.
Phạm vi hỗ trợ
Ngày dương từ 1/1/1900 đến 31/12/2100. Ngày âm tương ứng bắt đầu từ mùng 1 tháng Chạp năm Kỷ Hợi (1899). Ngoài phạm vi này công cụ báo lỗi thay vì trả một kết quả chưa kiểm thử.
Can chi, tiết khí, giờ hoàng đạo
- Can chi ngày tính từ số ngày Julius, chu kỳ 60 ngày liên tục.
- Can chi tháng theo tháng âm: tháng Giêng năm Giáp, Kỷ là Bính Dần, các tháng sau nối tiếp; tháng nhuận dùng can chi của tháng thường cùng số. Cách tính tháng theo tiết khí dùng trong tử vi có thể cho kết quả khác.
- Can chi năm theo năm âm lịch, đổi vào ngày Tết chứ không phải 1/1 dương lịch.
- Tiết khí là đoạn 15° kinh độ Mặt Trời. Theo cách ghi của lịch, ngày chứa thời điểm giao tiết (theo giờ Việt Nam) được tính là ngày đầu của tiết mới, dù thời điểm giao tiết có thể rơi vào bất kỳ giờ nào trong ngày. Thời điểm giao tiết tính theo mục bên dưới.
- Giờ hoàng đạo theo bảng truyền thống dựa vào địa chi của ngày. Đây là thông tin văn hóa để tham khảo, không phải kết quả khoa học.
- Pha trăng là ước tính lúc 12:00 giờ Việt Nam, nội suy giữa hai lần sóc. Hình trăng minh họa dùng quy ước phần sáng bên phải khi trăng lớn dần.
Thời điểm tiết khí và trăng tròn
- Tiết khí: thời điểm Mặt Trời đạt mỗi bội số 15° kinh độ hoàng đạo biểu kiến, tính bằng chuỗi 49 số hạng của Bretagnon và Simon (theo Reingold & Dershowitz, Calendrical Calculations), có hiệu chỉnh quang sai và chương động, rồi đổi giờ thiên văn sang giờ Việt Nam bằng ΔT. So với bảng xuân phân, hạ chí, thu phân, đông chí của Đài Thiên văn Hải quân Hoa Kỳ (USNO) các năm 1901–2100, sai lệch lớn nhất là 2,4 phút.
- Trăng tròn: theo công thức pha trăng của Jean Meeus (Astronomical Algorithms, chương 49) với đủ các số hạng hiệu chỉnh; sai lệch lớn nhất so với bảng USNO là dưới 2 phút. Giờ hiển thị làm tròn đến phút, nên lấy là gần đúng vài phút.
- Nguyệt thực không tự tính mà lấy theo danh mục của NASA, đối chiếu timeanddate cho khả năng quan sát tại Việt Nam.
Ngày làm việc và múi giờ
- Ngày lễ theo Điều 112 Bộ luật Lao động 2019 và Nghị quyết 28/2026/QH16 (Ngày Văn hóa Việt Nam 24/11, từ năm 2026). Năm Tết và ngày liền kề Quốc khánh đã có lịch nghỉ công bố thì dùng đúng lịch đó; năm chưa công bố thì ước tính 5 ngày Tết từ ngày cuối năm âm đến mùng 4 và nghỉ 2–3/9, có ghi rõ là ước tính.
- Nghỉ bù: ngày lễ trùng ngày nghỉ hằng tuần được nghỉ bù vào ngày làm việc kế tiếp (Điều 111). Lịch hoán đổi ngày làm việc chỉ áp dụng khi chọn lịch của cơ quan nhà nước. Trước năm 2021 công cụ chưa trừ ngày lễ.
- Múi giờ và giờ mùa hè theo cơ sở dữ liệu múi giờ IANA đi kèm máy chủ; chênh lệch với Việt Nam được tính tại đúng ngày đang xem.
Kiểm thử
Máy chủ (PHP) và trình duyệt (JavaScript) dùng hai bản cài đặt của cùng một thuật toán. Mỗi lần cập nhật, chúng tôi chạy:
- Đổi từng ngày từ 1/1/1900 đến 31/12/2100 (73.414 ngày) sang âm lịch rồi đổi ngược lại, kết quả phải trùng ngày ban đầu.
- So sánh toàn bộ đầu ra PHP và JavaScript cho cả phạm vi: ngày âm, tháng nhuận, can chi, tiết khí, số ngày của tháng, giờ hoàng đạo, pha trăng. Không được lệch một ký tự.
- Đối chiếu các mốc đã biết: ngày Tết các năm 1975, 1985, 2000, 2007, 2020–2027 và tháng nhuận các năm 2020 (tháng 4), 2023 (tháng 2), 2025 (tháng 6), 2028 (tháng 5).
Nguồn tham khảo
- Hồ Ngọc Đức, Thuật toán tính âm lịch.
- Jean Meeus, Astronomical Algorithms, 2nd ed., Willmann-Bell, 1998.
- Edward M. Reingold, Nachum Dershowitz, Calendrical Calculations, Cambridge University Press.
- US Naval Observatory, Earth’s Seasons và Phases of the Moon.
- NASA, Lunar Eclipse Page.
- IANA Time Zone Database.
- Bộ luật Lao động 45/2019/QH14, Điều 111 và 112.
Cách chọn nguồn và ghi trạng thái thông tin: Chính sách biên tập.
Báo lỗi
Thấy kết quả khác với lịch bạn dùng? Gửi email đến info@doingay.com kèm ngày đã nhập, chiều đổi (dương → âm hay âm → dương), kết quả Đổi Ngày hiển thị và nguồn bạn dùng để đối chiếu. Xem thêm Liên hệ và báo lỗi.