TRUYỆN TRANH TRẠNG QUỲNH TẬP: Thằng Lùn cô đơn

By Trần Tứ Liêm on Thứ Sáu, 17 tháng 10, 2025

TRUYỆN TRANH TRẠNG QUỲNH TẬP Thằng Lùn cô đơn

TRUYỆN TRANH TRẠNG QUỲNH TẬP

Thằng Lùn cô đơn

Bạn nên tìm mua truyện này tại các hiệu sách để đọc, ủng hộ tác giả và nhà xuất bản nhé! Những hình này được TTL Blog sưu tầm trên mạng, và muốn lưu giữ lại.

Trạng Quỷnh - Tập: 322: Củ Sâm Hạ Tướng Cướp

By Trần Tứ Liêm on Thứ Năm, 16 tháng 10, 2025

Tăng bổ tuyển trạch thông thư quảng ngọc hạp ký

By Trần Tứ Liêm on Thứ Tư, 15 tháng 10, 2025

TĂNG BỔ TUYỂN TRẠCH THÔNG THƯ 
QUẢNG NGỌC HẠP KÝ
Sách Hán Nôm - Bản khắc

Trạng Quỷnh - Tập 323: Tại Cây Dù

By Trần Tứ Liêm on Thứ Ba, 14 tháng 10, 2025

Tử Vi Tuổi Quý Sửu 1973 Năm 2025 ( Ất Tỵ) - NAM MẠNG

By Trần Tứ Liêm on Thứ Hai, 13 tháng 10, 2025

Tử Vi Tuổi Quý Sửu 1973 Năm 2025 ( Ất Tỵ) - NAM MẠNG


Bài viết tử vi năm 2025 tuổi Quý Sửu 1973 Nam Mạng được xây dựng trên các cơ sở sau:

  • 1. Tử vi khoa học: Xét các sao cố định chiếu về cung tiểu vận.
  • 2. Sao chiếu hạn: Tuy độ chính xác chưa cao, nhưng khi vận khó thì thật đáng ngại.

Mục đích là truy xét thời vận cho quý Anh, sống hòa thuận vui vẻ.

Xem trên Youtobe: Tử Vi nam 1973 năm 2025

PHẦN 1: TỔNG QUAN TUỔI QUÝ SỬU 1973.

Quý Sửu - 53 tuổi.

Mạng: Mộc (Gỗ cây dâu).

Con nhà: Thanh Đế.

Quý Sửu phần số quý ông.
Can chi tương khắc khó mà thông danh tài.
Thông minh khôn khéo bên ngoài.
Bên trong thay đổi, Đông Đoài bôn ba.
Bạc tiền như nước vào ra.
Của cầm không đậu cửa nhà khó nên.
Tuổi trẻ danh lộc không bền.
Duyên tình lắm mối rối thêm cuộc đời.
Trung niên tạo được cơ ngơi.
Làm ăn chân chánh, gặp thời lên cao.

Lời thơ: Tử vi Chùa Khánh Anh.

Trạng Quỷnh - Tập 327: Thuyền ma

By Trần Tứ Liêm on Chủ Nhật, 12 tháng 10, 2025

Nhạc thơ: Cuộc Đời Đức Phật Thích Ca

By Trần Tứ Liêm on Thứ Bảy, 11 tháng 10, 2025

Tử Vi Tuổi Ất Hợi 1995 Năm 2025 ( Ất Tỵ) - NỮ MẠNG

By Trần Tứ Liêm on Thứ Sáu, 10 tháng 10, 2025

Tử Vi Tuổi Ất Hợi 1995 Năm 2025 ( Ất Tỵ) - NỮ MẠNG


Bài viết tử vi năm 2025 tuổi Ất Hợi 1995 Nữ Mạng được xây dựng trên các cơ sở sau:

  • 1. Tử vi khoa học: Xét các sao cố định chiếu về cung tiểu vận.
  • 2. Sao chiếu hạn: Tuy độ chính xác chưa cao, nhưng khi vận khó thì thật đáng ngại.

Mục đích là truy xét thời vận cho quý Chị, sống hòa thuận vui vẻ.


PHẦN 1: TỔNG QUAN TUỔI ẤT HỢI 1995.

Ất Hợi - 31 tuổi.

Mạng: Hỏa (Lửa trên núi).

Con nhà: Xích Đế.

Ất Hợi phần số Quý Cô.
Tương khắc tuổi mạnq, sóng xô vào đời.
Hiền lành, chẳng muốn đua bơi.
Lại không bền chí, vận thời đổi thay.
Thuận sanh Xuân Hạ thì may.
Nghịch sanh lỗi số, đắng cay duyên tình.
Tuổi Xuân chìm nổi, lênh đênh.
Tha phương lập nghiệp một mình dễ nên.
Trung niên mới gặp vận hên.
Gia đình, sự nghiệp ấm êm nhiều phần.

Lời thơ: Tử vi Chùa Khánh Anh.

Sao Hóa Quyền

By Trần Tứ Liêm on Thứ Năm, 9 tháng 10, 2025

Hành: Thủy
Loại: Quyền Tinh
Đặc Tính: Uy quyền, tôn vinh, lanh lợi, cơ mưu
Tên gọi tắt thường gặp: Quyền

Phụ tinh. Một trong 4 sao của bộ Tứ Hóa là Hóa Khoa, Hóa Quyền, Hóa Lộc, Hóa Kỵ.

br />
Vị Trí Ở Các Cung

Đắc địa ở các cung Thìn, Tuất, Sửu, Mùi. Tại đây, Hóa Quyền sáng lạng, biểu dương cho thực quyền, đa quyền hay có uy tín thật sự, được nhiều người nể trọng, biết tiếng, phục tùng.

Hãm địa ở các cung Tý, Ngọ, Thân, Dậu, Hợi. Tại đây, Hóa Quyền bị che lấp, ví như người ít quyền, hư quyền hoặc có quyền nhưng ở trong bóng tối, hoặc có thể có quyền tước hàm hay quyền tước sau khi chết (truy tặng).

Ý Nghĩa Hóa Quyền Ở Cung Mệnh

Tướng Mạo

Cung Mệnh có sao Hóa Quyền thì có oai phong, có tướng lạ.

Tính Tình

Cung Mệnh có sao Hóa Quyền thì thông minh, có tài chỉ huy, được nhiều người kính nễ, tùng phục, cương quyết, tháo vát, có quyền hành hoặc có thế lực. Người nữ thì nhờ vào thế lực của chồng mà có danh quyền.

Công Danh Tài Lộc

Hóa Quyền đặc biệt là sao quyền, sao uy, có nghĩa là có oai phong, được nhiều người kính nể, sợ sệt, tùng phục; có quan chức lớn, có uy quyền hiển hách, được thượng cấp tin nhiệm, trọng vọng. Tóm lại, đây là người có quyền hành hoặc có thế lực.

Đây không hẳn chỉ là võ quyền mà còn có ý nghĩa văn quyền (quyền của quan văn), giáo quyền (quyền lực của thầy tu, giáo sĩ). Tùy theo cách làm quan, Hóa Quyền sẽ có ý nghĩa võ, văn hay giáo quyền.

Cho dù không đi vào đường quan chức, người có Hóa Quyền thủ Mệnh cũng có thế lực thực tế, được kiêng nể vì uy tín, vì nhân đức, vì khoa bảng, vì tiền bạc, vì tài năng...

Phúc Thọ Tai Họa

Hóa Quyền là sao trung lập về mặt cứu giải, cho nên:
  • Nếu gặp nhiều sao giải thì qua khỏi tai họa, bệnh tật một cách bất ngờ.
  • Nếu gặp nhiều sao hung thì tác họa rất nguy kịch.
Hóa Quyền gặp các sát tinh hội hợp, thì hay liều lĩnh, trước khi làm bất cứ một việc gì cũng không suy tính cẩn thận. Nên suốt đời chẳng được xứng ý toại lòng, lại hay mắc tai họa kiện cáo, và phải buồn phiền vì con cái.

Những Bộ Sao Tốt
  • Hóa Quyền, Hóa Khoa, Hóa Lộc: Người vừa có danh quyền, có văn hóa, vừa có tài lộc. Đây là bộ sao Tam Hóa rất quý cho bất luận nam nữ, bất luận số nào, bất luận hạn nào, bất luận ý nghĩa hay phương diện nào.
  • Hóa Quyền, Tử Vi, Thiên Phủ: Có uy quyền quan chức lớn, có uy tín, hậu thuẫn lớn.
  • Hóa Quyền, Cự Môn, Vũ Khúc: Có nhiều quyền hành, công danh hiển đạt.
  • Hóa Quyền, Thiên Khốc: Có uy danh lừng lẫy. Nếu Mệnh ở Tý, Ngọ thì càng tốt đẹp, phú quý lâu dài, danh lưu hậu thế.
Những Bộ Sao Xấu

Nói chung, Hóa Quyền rất kỵ sát tinh hãm địa.
  • Hóa Quyền gặp Không, Kiếp: Có uy quyền nhưng không bền, bị lụy, bị hại vì quyền hành, dùng quyền hành làm việc ác, hay sử dụng bạo quyền.
  • Hóa Quyền gặp Tuần, Triệt: Công danh trắc trở, thành ít bại nhiều, chỉ có hư danh, hư quyền, bị cách chức, giáng chức.
  • Hóa Quyền gặp Hỏa Tinh, Thất Sát, Thiên Khốc, Thiên Hư : Hay bắt nạt người khác, bị người dưới khinh ghét.
Ý Nghĩa Hóa Quyền Ở Cung Phụ Mẫu
  • Cha mẹ có danh chức hoặc nổi tiếng, thường là người trưởng tộc hoặc hay được họ hàng hỏi ý kiến, thường bảo bọc, bảo trợ cho người thân.
  • Hóa Quyền, Thiên Khôi, cha mẹ có quyền hành lớn.
Ý Nghĩa Hóa Quyền Ở Cung Phúc Đức
  • Được hưởng phúc, giòng họ danh giá, có tiếng.
  • Hóa Quyền, Tham Lang, có tuổi thọ.
  • Hóa Quyền, Hóa Khoa, Văn Xương, Văn Khúc, phát về văn tài, giòng dõi văn gia.
  • Hóa Quyền, Ân Quang, Thiên Quý, công danh đại phát.
Ý Nghĩa Hóa Quyền Ở Cung Điền Trạch
  • Gia tăng sự tốt đẹp về việc mưu cầu nhà cửa. Thường được ở dinh thự. Nếu không thì cũng là nhà cao cửa rộng.
Ý Nghĩa Hóa Quyền Ở Cung Quan Lộc
  • Dễ có chức vụ, công danh, thi cử, có thực quyền.
  • Hóa Quyền, Hóa Lộc, Thiên Phủ, Vũ Khúc, số đại quý.
  • Hóa Quyền, Thất Sát, có uy quyền, nhiều người nể sợ.
  • Gặp các sao Đại Hao, Thất Sát, Thiên Khốc, Thiên Hư, người dưới khinh ghét.
Ý Nghĩa Hóa Quyền Ở Cung Nô Bộc
  • Bạn bè có quyền hành, nhờ bạn bè là nên.
Ý Nghĩa Hóa Quyền Ở Cung Thiên Di
  • Sao Hóa Quyền hợp vị nhất ở cung Mệnh, Quan, Thân. Tại đó, Hóa Quyền có nghĩa như mình có quyền bính, chính thức, tự mình tạo được thế lực, hậu thuẫn.
  • Hay lui tới chỗ quyền quý.
  • Có thế lực lớn trong xã hội, được trọng đãi, tín dụng.
  • Sinh phùng thời.
Ý Nghĩa Hóa Quyền Ở Cung Tật Ách
  • Giải trừ được tai nạn, nhưng nếu bị sao TUẦN, TRIỆT, và các sao xấu, thì hay gặp tai nạn về quyền lực, bị bãi truất, có án tù, công danh trắc trở, tự đắc, kiêu căng, ngạo mạn khiến ai cũng ghét, có hại, hư danh.
Ý Nghĩa Hóa Quyền Ở Cung Tài Bạch
  • Gia tăng sự tốt đẹp về việc mưu cầu tiền bạc.
Ý Nghĩa Hóa Quyền Ở Cung Tử Tức
  • Con cái làm nên sự nghiệp, công danh thành đạt.
Ý Nghĩa Hóa Quyền Ở Cung Phu Thê
  • Chồng hay vợ là người có quyền chức lớn, vợ nể chồng, chồng nể vợ.
Ý Nghĩa Hóa Quyền Ở Cung Huynh Đệ
  • Anh chị em làm nên sự nghiệp, có uy quyền.
Hóa Quyền Khi Vào Các Hạn
  • Được trọng dụng, được giao phó trách nhiệm quan trọng.
  • Được thăng chức hay thăng cấp.
  • Nếu đi với hung sát tinh hãm địa, Hóa Quyền phối hợp tác họa mạnh mẽ.

LỊCH VẠN NIÊN TTL-EXCEL

By Trần Tứ Liêm on Chủ Nhật, 5 tháng 10, 2025

Đây là bộ lịch vạn sự soạn thảo công phu, được rất nhiều nhà tuyển trạch sử dụng! Và nó sẽ còn được tiếp tục phát triển. 

TẢI LỊCH VẠN NIÊN BẢN MỚI NHẤT

(có nhiều ứng dụng thiên văn, chạy trên máy tính)
Nhấn  trong các dường link để tải về:


(Đã chỉnh sửa và cập nhật lại ngày 23/6/2016)
Có sự góp ý của rất nhiều người dùng
Bản tiếp theo sẽ có phần an sao tử vi và luận giả lá số thông minh.

Bạn có thể tải thêm:





Bản đồ sao được nhúng vào lịch
Các bạn thân mến! Blog TTL đã giới thiệu thuật toán tính Âm Lịch của Hồ Ngọc Đức bằng ngôn ngữ JavaScript, Đây là thuật toán Thiên văn của quốc tế. Bạn có thể xem bài viết này tại: 

Còn ở bài viết này tôi sẽ giới thiệu cho bạn thuật toán tính âm lịch của Hồ Ngọc Đức bằng ngôn ngữ Viasual Basic do Blog TTL chuyển từ ngôn JavaScript. Và File Excel Lịch Vạn Niên xây dựng từ thật toán trên và các tài liệu xem ngày tháng. Nhưng tôi sẽ giới thiệu về File Lịch Vạn Niên trước, thuật toán giới thiệu sau.
File Lịch Vạn Niên là một chương trình xử lý, tính toán một ngày dương nào đó thành ngày âm lịch và các vạn sự của ngày.

Ví dụ như ngày Dương là ngày 01 tháng 01 năm 2013, thì kết quả cơ bản từ chương trình Lịch Vạn Niên là:
  • Là ngày Hoàng Đạo
  • Ngày thứ 3
  • Ngày theo lịch Julius: 2456294
  • Ngày âm lịch: 20/11/2012 ngày Đinh Mão tháng Nhâm Tý năm Nhâm Thìn
  • Mệnh ngày là Hỏa (lửa trong lò), mệnh tháng là Mộc (gỗ cây dâu), mệnh năm là Thủy (nước giữa dòng)
  • Ngày này đang ở trong tiết Đông Chí (giữa đông - kinh độ mặt trời là 280.43 độ)
  • Từ 23h đến 01h là giờ Canh Tý thần Tư Mệnh quản, giờ này là giờ Hắc Đạo, còn từ 01h đến 03h ....
  • Ngày này thì hướng Hỷ thần là Chính Nam, Tài thần là Chính Tây, Hạc thần là Chính Nam, giờ không vong tại Dậu, Hợi, Giờ tốt: Dần, Mão, Ngọ, Mùi
  •  Các sao tốt chiếu trong ngày này: Nguyện Đức Hợp, Thiên Thành...
  • Các sao xấu chiếu trong ngày này: Thiên Cương, Thiên Lại...
  • Các phần vạn sự A, B,C,D,E,F ...
  • ............................

Ngoài ra còn có thêm 3 phần là: Xem Giờ Sinh, Bát Trạch, Ngày Đặc Biệt Của Bạn:
  • Phần Xem Giờ Sinh được viết theo sách Ngọc Hạp Chánh Tông. Phần này bạn chỉ nên xem cho vui, đừng tin quá.
  • Phần Bát Trạch được xây dựng dựa theo sách Phong Thủy Ứng Dụng. Phần này ứng dụng cho việc bài trí nội thất, ngoại thất.
  • Phần Ngày Đặc Biệt là phần bạn nhập ngày mà bạn cần nhớ của mình vào, Lịch vạn niên khi chỉ tới ngày đó sẽ báo cho bạn. Ví dụ ngày sinh của bạn là 20/10/1984 Âm Lịch thì đến ngày 20/10 âm lịch của các năm sẽ hiện dòng nhắc sinh nhật của bạn.
Tuy nhiên bản Lịch Vạn Niên này chắc chắn không ít thì nhiều có chổ sẽ sai, nếu ai phát hiện lỗi sai sót thì comment dùm nha. Ngoài ra mong bà con bàn luận chi sẽ, góp ý để hoàn thành Lịch Vạn Niên này tốt hơn.

Ghi chú Lịch Vạn Niên này là file Excel có chứa các Macro nên bạn phải đưa chế độ bảo vệ của Excel về mức Low mới xem được.  Phần Bát Trạch, nếu bạn dùng thì phải dùng Excel 2007 trở lên, excel 2003 sẽ bị lỗi. 


TẢI LỊCH VẠN NIÊN MỚI NHẤT




Riêng phần tính giờ nước lên, nước xuống thì mình chưa có thuật toán tính, nên mục này bà con xem thận trọng nha. Ai có thật toán tính giờ con nước thì chỉ mình với.

Các bạn có thể thảm khảo bài viết: Cách Tính Giờ Âm Lịch để hiểu hơn về chương trình này

Còn đây là thuật toán:


Option Explicit ' TRAN TU LIEM
Const PI As Double = 3.14159265358979 ' Atn(1) * 4

Function jdFromDate(ByVal dd As Long, ByVal mm As Long, ByVal yy As Long) As Long
    Dim a As Double, y As Long, M As Long, jd As Long
    a = Fix((14 - mm) / 12)
    y = yy + 4800 - a
    M = mm + 12 * a - 3
    jd = dd + Fix((153 * M + 2) / 5) + 365 * y _
        + Fix(y / 4) - Fix(y / 100) + Fix(y / 400) - 32045
    If jd < 2299161 Then
        jd = dd + Fix((153 * M + 2) / 5) + 365 * y + Fix(y / 4) - 32083
    End If
    jdFromDate = jd
End Function

Function jdToDate(jd)
' doi ngay july thành ngay thuong
Dim a, b, c, d, e, M, Day, Month, Year
If jd > 2299160 Then
    a = jd + 32044
    b = Int((4 * a + 3) / 146097)
    c = a - Int((b * 146097) / 4)
 Else
    b = 0
    c = jd + 32082
End If
d = Int((4 * c + 3) / 1461)
e = c - Int((1461 * d) / 4)
M = Int((5 * e + 2) / 153)
Day = e - Int((153 * M + 2) / 5) + 1
Month = M + 3 - 12 * Int(M / 10)
Year = b * 100 + d - 4800 + Int(M / 10)
jdToDate = DateSerial(Year, Month, Day)

End Function

Function NewMoon(ByVal k As Long) As Double
    Dim T As Double, T2 As Double, T3 As Double, dr As Double
    Dim Jd1 As Double, M As Double, Mpr As Double
    Dim F As Double, C1 As Double, deltat As Double, JdNew As Double
    T = k / 1236.85 ' Time in Julian centuries from 1900 January 0.5
   T2 = T * T
    T3 = T2 * T
    dr = PI / 180
    Jd1 = 2415020.75933 + 29.53058868 * k + 0.0001178 * T2 - 0.000000155 * T3
    Jd1 = Jd1 + 0.00033 * Sin((166.56 + 132.87 * T - 0.009173 * T2) * dr)
    M = 359.2242 + 29.10535608 * k - 0.0000333 * T2 - 0.00000347 * T3
    Mpr = 306.0253 + 385.81691806 * k + 0.0107306 * T2 + 0.00001236 * T3
    F = 21.2964 + 390.67050646 * k - 0.0016528 * T2 - 0.00000239 * T3
    C1 = (0.1734 - 0.000393 * T) * Sin(M * dr) + 0.0021 * Sin(2 * dr * M)
    C1 = C1 - 0.4068 * Sin(Mpr * dr) + 0.0161 * Sin(dr * 2 * Mpr)
    C1 = C1 - 0.0004 * Sin(dr * 3 * Mpr)
    C1 = C1 + 0.0104 * Sin(dr * 2 * F) - 0.0051 * Sin(dr * (M + Mpr))
    C1 = C1 - 0.0074 * Sin(dr * (M - Mpr)) + 0.0004 * Sin(dr * (2 * F + M))
    C1 = C1 - 0.0004 * Sin(dr * (2 * F - M)) - 0.0006 * Sin(dr * (2 * F + Mpr))
    C1 = C1 + 0.001 * Sin(dr * (2 * F - Mpr)) + 0.0005 * Sin(dr * (2 * Mpr + M))
    If (T < -11) Then
        deltat = 0.001 + 0.000839 * T + 0.0002261 * T2 _
                - 0.00000845 * T3 - 0.000000081 * T * T3
    Else
        deltat = -0.000278 + 0.000265 * T + 0.000262 * T2
    End If
    JdNew = Jd1 + C1 - deltat
    NewMoon = JdNew
End Function

Function SunLongitude(ByVal jdn As Double) As Double
    Dim T As Double, T2 As Double, dr As Double, M As Double
    Dim L0 As Double, DL As Double, L As Double
    T = (jdn - 2451545) / 36525
        ' Time in Julian centuries from 2000-01-01 12:00:00 GMT
   T2 = T * T
    dr = PI / 180 ' degree to radian
   M = 357.5291 + 35999.0503 * T - 0.0001559 * T2 - 0.00000048 * T * T2
    L0 = 280.46645 + 36000.76983 * T + 0.0003032 * T2
    DL = (1.9146 - 0.004817 * T - 0.000014 * T2) * Sin(dr * M)
    DL = DL + (0.019993 - 0.000101 * T) * Sin(dr * 2 * M) _
        + 0.00029 * Sin(dr * 3 * M)
    L = L0 + DL ' true longitude, degree
   L = L * dr
    L = L - PI * 2 * (Fix(L / (PI * 2))) ' Normalize to (0, 2*PI)
   SunLongitude = L
End Function

Function getSunLongitude(ByVal dayNumber As Double, ByVal timeZone As Byte) As Long
    getSunLongitude = Fix(SunLongitude(dayNumber - 0.5 - timeZone / 24) / PI * 6)
End Function

Function getNewMoonDay(ByVal k As Long, ByVal timeZone As Long) As Long
    getNewMoonDay = Fix(NewMoon(k) + 0.5 + timeZone / 24)
End Function

Function getLunarMonth11(ByVal yy As Long, ByVal timeZone As Long) As Long
    Dim k As Long, off As Double, nm As Long, sunLong As Double
    off = jdFromDate(31, 12, yy) - 2415021
    k = Fix(off / 29.530588853)
    nm = getNewMoonDay(k, timeZone)
    sunLong = getSunLongitude(nm, timeZone) ' sun longitude at local midnight
   If (sunLong >= 9) Then
        nm = getNewMoonDay(k - 1, timeZone)
    End If
    getLunarMonth11 = nm
End Function


Function getLeapMonthOffset(ByVal a11 As Double, ByVal timeZone As Long) As Long
    Dim k As Long, last As Long, Arc As Long, I As Long
    k = Fix((a11 - 2415021.07699869) / 29.530588853 + 0.5)
    last = 0
    I = 1 ' We start with the month following lunar month 11
   Arc = getSunLongitude(getNewMoonDay(k + I, timeZone), timeZone)
    Do
        last = Arc
        I = I + 1
        Arc = getSunLongitude(getNewMoonDay(k + I, timeZone), timeZone)
    Loop While (Arc <> last And I < 14)
    getLeapMonthOffset = I - 1
End Function


Public Function KinhDoMatTroi(gio, phut, dd, mm, yy)
'tinh kinh ?o mat troi
Dim PI, a, y, M, T, jdn, L0, jd, c, theta, lambda
PI = 4 * Atn(1)
a = Int((14 - mm) / 12)
y = yy + 4800 - a
M = mm + 12 * a - 3
    jdn = dd + Int(((153 * M) + 2) / 5) + 365 * y + Int(y / 4) - Int(y / 100) + Int(y / 400) - 32045
    If jdn < 2299161 Then jdn = dd + Int((153 * M + 2) / 5) + 365 * y + Int(y / 4) - 32083
    jd = jdn + ((gio - 12) / 24) + (phut / 1440) - 7 / 24


T = (jd - 2451545#) / 36525
L0 = 280.46645 + 36000.76983 * T + 0.0003032 * T * T
M = (357.5291 + 35999.0503 * T - 0.0001559 * T * T - 0.00000048 * T * T * T) * PI / 180
c = ((1.9146 - 0.004817 * T - 0.000014 * T * T) * Sin(M)) + (0.01993 - 0.000101 * T) * Sin(2 * M) + 0.00029 * Sin(3 * M)
theta = L0 + c
lambda = theta - 0.00569 - 0.00478 * Sin((125.04 - 1934.136 * T) * PI / 180)
lambda = lambda - 360 * Int(lambda / 360)
KinhDoMatTroi = lambda

End Function













Function convertSolar2Lunar(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
convertSolar2Lunar = lunarDay & "/" & lunarMonth & "/" & lunarYear

End Function

Function THANGNODU(dd, mm, yy, timeZone)

'THANG NO DU

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
THANGNODU = getNewMoonDay(k + 1, timeZone) - getNewMoonDay(k, timeZone)

End Function

Function THANGNHUAN(dd, mm, yy, timeZone)

'THANG NHUAN

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)

    THANGNHUAN = (leapMonthDiff + 10) Mod 12
End If

 


End Function






Function convertLunar2Solar(lunarDay, lunarMonth, lunarYear, lunarLeap, timeZone)

'Doi âm lich ra duong lich

Dim k, a11, b11, off, leapOff, leapMonth, monthStart
If (lunarMonth < 11) Then
    a11 = getLunarMonth11(lunarYear - 1, timeZone)
    b11 = getLunarMonth11(lunarYear, timeZone)
 Else
    a11 = getLunarMonth11(lunarYear, timeZone)
    b11 = getLunarMonth11(lunarYear + 1, timeZone)
End If
off = lunarMonth - 11
If (off < 0) Then off = off + 12

If (b11 - a11 > 365) Then
    leapOff = getLeapMonthOffset(a11, timeZone)
    leapMonth = leapOff - 2
    If (leapMonth < 0) Then leapMonth = leapMonth + 12
 
    If (lunarLeap <> 0 And lunarMonth <> leapMonth) Then
        convertLunar2Solar = Array(0, 0, 0)
    Else
        If (lunarLeap <> 0 Or off >= leapOff) Then off = off + 1
    End If
End If
k = Int(0.5 + (a11 - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + off, timeZone)
convertLunar2Solar = jdToDate(monthStart + lunarDay - 1)

End Function


Function Ngay(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm: Ngay

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
Ngay = lunarDay
End Function
Function Thang(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm: Thang

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
Thang = lunarMonth

End Function

Function Nam(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
Nam = lunarYear

End Function

Function Duongcongkynhat(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, NgayAm, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart >= dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
NgayAm = lunarDay & "/" & lunarMonth
Duongcongkynhat = ""

If NgayAm = "13/1" Or NgayAm = "11/2" Or NgayAm = "9/3" Or NgayAm = "7/4" Or NgayAm = "5/5" Or NgayAm = "3/6" Or NgayAm = "8/7" Or NgayAm = "29/7" Or NgayAm = "27/8" Or NgayAm = "25/9" Or NgayAm = "23/10" Or NgayAm = "21/11" Or NgayAm = "19/12" Then Duongcongkynhat = 1

End Function

Function TamNuongSat(dd, mm, yy, timeZone)

'Kiem tra ngay dd/mm/yyyy có phai ngay Tam Nuong Sat

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, TamNuong, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart >= dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 

TamNuongSat = ""

If lunarDay = 2 Or lunarDay = 7 Or lunarDay = 13 Or lunarDay = 18 Or lunarDay = 22 Or lunarDay = 27 Then TamNuongSat = 1

End Function

Function NgayNguyetKy(dd, mm, yy, timeZone)

'Kiem tra ngay dd/mm/yyyy có phai ngay Nguyet Ky

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, TamNuong, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart >= dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 

NgayNguyetKy = ""

If lunarDay = 5 Or lunarDay = 14 Or lunarDay = 23 Then NgayNguyetKy = 1

End Function

Thân ái
Blog Trần Tứ Liêm

Mình thích viết Blog, tìm hiểu Tử Vi, Phong Thủy, Kiến Trúc, nghiên cứu Lịch vạn niên, đọc sách tùm lum, hay chia sẽ kiến thức.

BẢN ĐỒ BLOG

Translate



Quý bạn muốn nghe nhạc?
Hãy nhấn nút bật loa.
Cảnh Cực Lạc, tâm bình an.

Xem tử vi 2025

xem tử vi năm 2025

Xem nhiều nhất

Trạng Quỷnh

TRUYỆN TRANH TRẠNG QUỶNH

Bài viết mới nhất

Bài viết theo thời gian

Quảng cáo
×

SƠ ĐỒ BLOG

Bài Nỗi Bật

Tin mới nhất - VnExpress RSS

Kho Hàng Giá Sỉ

Dịch Vụ Sửa Nhà

Thảo Mộc Thái Phong

Tổng số lượt xem trang