Chi tiết kỹ thuật về cách tính
Trang này dành cho ai muốn biết sâu hơn. Phần giải thích dễ hiểu ở trang Âm lịch được tính như thế nào.
Thuật toán
Lịch Vạn Niên tính âm lịch bằng thuật toán thiên văn của Hồ Ngọc Đức, theo giờ Việt Nam (UTC+7, kinh tuyến 105° Đông). Mỗi tháng âm lịch bắt đầu vào ngày chứa thời điểm trăng non (điểm sóc); tháng 11 là tháng chứa tiết Đông chí; khi giữa hai tháng 11 liên tiếp có 13 tháng, tháng đầu tiên sau tháng 11 không chứa trung khí là tháng nhuận và mang số của tháng liền trước. Ngày tính theo giờ địa phương, nên lịch Việt có năm khác lịch Trung Quốc (UTC+8).
Tiết khí không tính lại trên máy: thời điểm Mặt Trời qua mỗi 15° kinh độ (kinh độ biểu kiến) được tính sẵn bằng thư viện thiên văn Astronomy Engine cho mọi năm 1900–2100 và đóng gói cùng ứng dụng. Mỗi ngày mang tiết khí đang có hiệu lực vào cuối ngày theo giờ địa phương.
Can Chi, trực, hoàng đạo
Can Chi của ngày đếm liên tục theo số ngày Julius; của tháng theo tháng âm lịch (tháng Giêng là tháng Dần, tháng nhuận dùng Can Chi của tháng thường cùng số); của năm đổi vào mùng 1 Tết. Trực và mười hai thần (hoàng đạo, hắc đạo) tính theo tháng tiết, bắt đầu từ Lập xuân, theo Hiệp Kỷ Biện Phương Thư.
Ngày tốt và tuổi
Ngày tốt cho một việc là ngày hoàng đạo có trực hợp việc đó, không phạm Tam nương, Nguyệt kỵ hay xung với tuổi người làm việc. Trực hợp từng việc theo bảng việc nên làm (Dụng sự) ở quyển 11 của Hiệp Kỷ Biện Phương Thư: cưới hỏi hợp Định, Thành; động thổ hợp Định, Thành, Khai; khai trương hợp Mãn, Thành, Khai; nhập trạch hợp Thành, Khai; xuất hành hợp Kiến, Trừ, Thành, Khai; ký kết và mua xe hợp Mãn, Định, Thành. Nguyệt kỵ (mùng 5, 14, 23) là tục được sách ghi lại ở quyển 6; Tam nương là tục dân gian truyền miệng, không có trong sách. Các sách khác có thể khác ở chi tiết, nên mọi kết quả chọn ngày đều ghi “Tham khảo”. Hợp hay xung tuổi chỉ xét theo Chi (lục xung, lục hợp, tam hợp); ngũ hành của mệnh chỉ dùng để giải thích, không đổi kết quả.
Phiên bản
Engine 0.8.0, bảng tra 2026.10.4, bộ đặc tả v0.8.0 phát hành ngày 28/10/2026.
Phạm vi kiểm thử
Bộ ngày kiểm thử chung có 73.414 ngày, từ 1/1/1900 đến 31/12/2100: web, ứng dụng iPhone, Android và máy chủ đều phải cho cùng kết quả trên bộ này. Ngoài ra còn 17.965 trường hợp kiểm tra riêng (ngày sát nửa đêm, ngày giỗ, ngày lễ, xem tuổi…).
Múi giờ theo thời kỳ
Từ ngày 1/1/1968, âm lịch tính theo giờ Việt Nam (UTC+7); trước đó theo UTC+8, như âm lịch miền Bắc khi ấy.
Quy tắc
| Quy tắc | Nội dung | Tài liệu |
|---|---|---|
| Ngày âm lịch | Mùng 1 là ngày chứa thời điểm trăng non theo giờ Việt Nam; tháng 11 chứa Đông chí; năm có 13 tháng thì tháng đầu tiên sau tháng 11 không chứa trung khí là tháng nhuận (thuật toán Hồ Ngọc Đức). | Thuật toán tính âm lịch |
| Can Chi ngày | Đếm liên tục theo số ngày Julius: Can = (jd + 9) mod 10, Chi = (jd + 1) mod 12. | Thuật toán tính âm lịch |
| Can Chi tháng | Theo tháng âm lịch (tháng Giêng là Dần); tháng nhuận dùng Can Chi của tháng thường cùng số. | Thuật toán tính âm lịch |
| Can Chi năm | Theo năm âm lịch, đổi vào mùng 1 Tết (không phải 1/1 hay Lập xuân). | Thuật toán tính âm lịch |
| Tiết khí | Tiết khí có hiệu lực vào cuối ngày theo giờ địa phương, đọc từ bảng thời điểm Mặt Trời qua mỗi 15° kinh độ tính sẵn bằng Astronomy Engine. | Astronomy Engine |
| Tháng tiết | Tháng tính từ một tiết: Lập xuân mở tháng Dần; dùng để tính trực và mười hai thần. | Thuật toán tính âm lịch |
| Nạp âm | Tên nạp âm của cặp Can Chi trong vòng 60 (mỗi hai Can Chi liền nhau chung một nạp âm). | — |
| Trực | Kiến rơi vào ngày có Chi trùng Chi tháng tiết, rồi mỗi ngày tiến một trực. | Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) |
| Mười hai thần, hoàng đạo / hắc đạo | Đếm từ ngày Thanh Long của tháng tiết đến Chi của ngày; sáu thần tốt là hoàng đạo. | Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) |
| Giờ hoàng đạo | Sáu giờ tốt cố định theo Chi của ngày; giờ Tý (23–1 giờ) gắn với ngày dương lịch được liệt kê. | Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) |
| Lục xung, tuổi xung | Chi năm sinh đối với Chi ngày (Tý–Ngọ, Sửu–Mùi…); tuổi xung của ngày chỉ xét theo Chi. | Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) |
| Lục hợp | Chi năm sinh hợp với Chi ngày theo sáu cặp lục hợp. | Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) |
| Tam hợp | Chi năm sinh và Chi ngày khác nhau cùng một bộ tam hợp. | Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) |
| Trực hợp việc | Ngày đạt chuẩn cho một việc khi là ngày hoàng đạo và trực hợp việc đó; trực hợp từng việc theo bảng việc nên làm (Dụng sự, quyển 11) của sách, ví dụ cưới hỏi hợp Định và Thành; kết quả chỉ để tham khảo. | Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) |
| Tam nương | Loại các ngày âm lịch mùng 3, 7, 13, 18, 22, 27 khi chọn ngày tốt. | Ngày kỵ dân gian Việt Nam: Tam nương |
| Nguyệt kỵ | Loại các ngày âm lịch mùng 5, 14, 23 khi chọn ngày tốt. | Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) |
| Hướng Hỷ thần | Hướng xuất hành tốt theo Can của ngày, theo bài ca Hỷ thần phương vị. | Hỷ thần phương vị ca (喜神方位歌) |
| Ngũ hành mệnh và ngày | So hành của mệnh (nạp âm năm sinh) với hành nạp âm của ngày; chỉ để giải thích, không đổi kết quả hợp hay xung. | Ngũ hành tương sinh, tương khắc |
| Kim Lâu | Tuổi mụ chia 9 dư 1, 3, 6 hoặc 8 là phạm Kim Lâu khi làm nhà; cưới hỏi chỉ xét tuổi cô dâu. | Tuổi làm nhà: Kim Lâu, Hoang Ốc, Tam Tai (phép tính dân gian phổ thông) |
| Hoang Ốc | Đếm tuổi mụ theo sáu cung Hoang Ốc (trường phái phổ thông, đếm theo thập niên); rơi vào cung xấu là phạm. | Tuổi làm nhà: Kim Lâu, Hoang Ốc, Tam Tai (phép tính dân gian phổ thông) |
| Tam Tai | Ba năm liên tiếp theo nhóm tam hợp của tuổi được coi là năm hạn, kiêng làm nhà. | Tuổi làm nhà: Kim Lâu, Hoang Ốc, Tam Tai (phép tính dân gian phổ thông) |
Tài liệu tham khảo
- Hiệp Kỷ Biện Phương Thư (欽定協紀辨方書) Khâm Thiên Giám nhà Thanh biên soạn theo lệnh vua Càn Long · Bản Tứ khố toàn thư (四庫全書本), 36 quyển, bài tựa năm Càn Long thứ 6; toàn văn trên Wikisource tiếng Trung, thuộc phạm vi công cộng · quyển 1, mục Lục hợp (六合); quyển 4, mục Kiến trừ thập nhị thần (建除十二神); quyển 6, mục Tam hợp (三合) và Nguyệt kỵ nhật (月忌日); quyển 7, mục Hoàng đạo hắc đạo (黄道黒道) và Hỷ thần (喜神); quyển 11, mục Dụng sự (用事: việc nên, việc kỵ); quyển 20–31, Nguyệt biểu (月表, trực từng ngày theo tháng tiết); quyển 32, Lục thập nhật thời thần định cục (六十日時辰定局, giờ hoàng đạo)
- Thuật toán tính âm lịch Hồ Ngọc Đức
- Bộ luật Lao động 2019 (Luật số 45/2019/QH14) Điều 112. Nghỉ lễ, tết (trang 41–42); Điều 111 khoản 3
- Nghị quyết số 28/2026/QH16 của Quốc hội về phát triển văn hóa Việt Nam Điều 2 khoản 1; Điều 13 khoản 1
- Astronomy Engine Don Cross
- Ngày kỵ dân gian Việt Nam: Tam nương
- Hỷ thần phương vị ca (喜神方位歌) Ngọc Hạp Ký (玉匣記), mục Hỷ thần phương vị ca; cùng quy tắc ở Hiệp Kỷ Biện Phương Thư, quyển 7, mục Hỷ thần (喜神)
- Tuổi làm nhà: Kim Lâu, Hoang Ốc, Tam Tai (phép tính dân gian phổ thông)
- Ngũ hành tương sinh, tương khắc
Những ngày sát ranh giới (2000–2050)
Trăng non hoặc tiết khí rơi trong vòng 10 phút quanh nửa đêm: một sai số nhỏ về thời điểm có thể đổi ngày. Lịch Vạn Niên đối chiếu từng trường hợp với Astronomy Engine.
- 9/10/2003 · Tiết Hàn lộ · 17:00:30 UTC ngày 8/10/2003 · 0,5 phút sau nửa đêm (giờ UTC+7) · khớp
- 20/5/2004 · Tiết Tiểu mãn · 16:59:00 UTC ngày 20/5/2004 · 0,99 phút trước nửa đêm (giờ UTC+7) · khớp
- 19/4/2008 · Tiết Cốc vũ · 16:51:01 UTC ngày 19/4/2008 · 8,98 phút trước nửa đêm (giờ UTC+7) · khớp
- 27/11/2008 · Trăng non · 16:55:21 UTC ngày 27/11/2008 · 4,64 phút trước nửa đêm (giờ UTC+7) · khớp
- 3/2/2009 · Tiết Lập xuân · 16:50:14 UTC ngày 3/2/2009 · 9,77 phút trước nửa đêm (giờ UTC+7) · khớp
- 5/1/2011 · Tiết Tiểu hàn · 16:54:40 UTC ngày 5/1/2011 · 5,33 phút trước nửa đêm (giờ UTC+7) · khớp
- 23/8/2012 · Tiết Xử thử · 17:06:45 UTC ngày 22/8/2012 · 6,74 phút sau nửa đêm (giờ UTC+7) · khớp
- 20/3/2014 · Tiết Xuân phân · 16:56:51 UTC ngày 20/3/2014 · 3,15 phút trước nửa đêm (giờ UTC+7) · khớp
- 8/9/2014 · Tiết Bạch lộ · 17:01:28 UTC ngày 7/9/2014 · 1,46 phút sau nửa đêm (giờ UTC+7) · khớp
- 21/4/2031 · Trăng non · 16:57:40 UTC ngày 21/4/2031 · 2,33 phút trước nửa đêm (giờ UTC+7) · khớp
- 22/9/2033 · Tiết Thu phân · 16:51:43 UTC ngày 22/9/2033 · 8,28 phút trước nửa đêm (giờ UTC+7) · khớp
- 5/4/2034 · Tiết Thanh minh · 17:06:23 UTC ngày 4/4/2034 · 6,38 phút sau nửa đêm (giờ UTC+7) · khớp
- 22/7/2038 · Tiết Đại thử · 16:59:54 UTC ngày 22/7/2038 · 0,1 phút trước nửa đêm (giờ UTC+7) · khớp
- 22/11/2040 · Tiết Tiểu tuyết · 17:05:24 UTC ngày 21/11/2040 · 5,39 phút sau nửa đêm (giờ UTC+7) · khớp
- 19/4/2041 · Tiết Cốc vũ · 16:54:57 UTC ngày 19/4/2041 · 5,06 phút trước nửa đêm (giờ UTC+7) · khớp
- 6/7/2041 · Tiết Tiểu thử · 16:58:41 UTC ngày 6/7/2041 · 1,32 phút trước nửa đêm (giờ UTC+7) · khớp
- 20/6/2044 · Tiết Hạ chí · 16:50:37 UTC ngày 20/6/2044 · 9,39 phút trước nửa đêm (giờ UTC+7) · khớp
- 20/3/2047 · Tiết Xuân phân · 16:52:38 UTC ngày 20/3/2047 · 7,36 phút trước nửa đêm (giờ UTC+7) · khớp
Những ngày engine khác thời điểm thiên văn chính xác
Các trường hợp trong bộ kiểm tra ranh giới (1900–2100) mà ngày engine tính (theo thuật toán Hồ Ngọc Đức, như các lịch đã in) khác ngày tính từ thời điểm thiên văn chính xác:
- 9/12/2072 · Trăng non · 16:59:23 UTC ngày 9/12/2072 · 0,62 phút trước nửa đêm (giờ UTC+7) · khác ngày tính thiên văn chính xác (Lịch Vạn Niên: 10/12/2072)
- 19/10/2085 · Trăng non · 17:00:16 UTC ngày 18/10/2085 · 0,27 phút sau nửa đêm (giờ UTC+7) · khác ngày tính thiên văn chính xác (Lịch Vạn Niên: 18/10/2085)
Thấy ngày nào sai? Báo cho chúng tôi kèm nguồn đối chiếu. Báo sai